TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Datomic is Free

1099 点作者 xmlblog大约 2 年前

46 条评论

augustl大约 2 年前
Datomic&#x27;s is perfect for probably 90% of small-ish backoffice systems that never has to be web scale (i.e. most of what I do at work).<p>Writing in a single thread removes a whole host of problems in understanding (and implementing) how data changes over time. (And a busy MVCC sql db spends 75% of its time doing coordination, not actual writes, so a single thread applying a queue of transactions in sequence can be faster than your gut feeling might tell you.)<p>Transactions as first-class entities of the system means you can easily add meta-data for every change in the system that explains who and why the change happened, so you&#x27;ll never again have to wonder &quot;hmm, why does that column have that value, and how did it happen&quot;. Once you get used to this, doing UPDATE in SQL feels pretty weird, as the default mode of operation of your _business data_ is to delete data, with no trace of who and why!<p>Having the value of the entire database at a point in time available to your business logic as a (lazy) immutable value you can run queries on opens up completely new ways of writing code, and lets your database follow &quot;functional core, imperative shell&quot;. Someone needs to have the working set of your database in memory, why shouldn&#x27;t it be your app server and business logic?<p>Looking forward to see what this does for the adoption of Datomic!
评论 #35728794 未加载
评论 #35731013 未加载
评论 #35729769 未加载
评论 #35729063 未加载
评论 #35774235 未加载
评论 #35731746 未加载
评论 #35729553 未加载
评论 #35733382 未加载
评论 #35730612 未加载
评论 #35734461 未加载
mst大约 2 年前
I guess NuBank (Cognitect&#x27;s owners) have concluded that the paid licensing business wasn&#x27;t worth the hassle compared to having the developer time involved spent on other things.<p>Releasing only binaries, while I understand people being grumpy about it, seems like an interesting way of keeping their options open going forwards. Since it was always closed source, it now being &#x27;closed source but free&#x27; is still a net win.<p>The Datomic&#x2F;Cognitect&#x2F;NuBank relationship is an interesting symbiotic dynamic and while I&#x27;m sure we can all think of ways it might go horribly wrong in future I rather hope it doesn&#x27;t.
评论 #35730326 未加载
samuell大约 2 年前
Question to people having used Datomic:<p>Based on experience with Prolog, I always thought using Datalog in a database like Datomic would mean being able to model your data model using stored queries as a very expressive way of creating &quot;classes&quot;. And that by modeling your data model using nested such queries, you alleviate the need for an ORM, and all the boilerplate and duplication of defining classes both in SQL and as objects in OO code ... since you already modelled your data model in the database.<p>Does Datomic live up to that vision?
评论 #35733842 未加载
评论 #35731929 未加载
评论 #35736194 未加载
bvanderveen大约 2 年前
From experience:<p>Datomic Cloud is slow, expensive, resource intensive, designed in the baroque style of massively over-complicated CloudFormation astronautics. Hard to diagnose performance issues. Impossible to backup. Ran into one scenario where apparently we weren&#x27;t quick enough to migrate to the latest version, AWS had dropped support for $runtime in Lambda, and it became impossible to upgrade the CloudFormation template. Had to write application code to export&#x2F;reimport prod data from cluster to another—there was no other migration path (and yes, we were talking to their enterprise support).<p>We migrated to Postgres and are now using a 10th of the compute resources. Our p99 response times went from 1.3-1.5s to under 300ms once all the read traffic was cut over.<p>Mother Postgres can do no wrong.<p>Still, Datomic seems like a cool idea.
评论 #35735330 未加载
评论 #35733945 未加载
评论 #35735264 未加载
评论 #35735530 未加载
评论 #35734185 未加载
评论 #35761613 未加载
评论 #35734494 未加载
评论 #35736163 未加载
martypitt大约 2 年前
Only the binaries are made available, not the source, which is interesting.<p>I guess they don&#x27;t claim to be open source, they&#x27;re claiming to be free, which is - in itself - awesome.<p>Last time I checked, you couldn&#x27;t push binaries to maven central, without also releasing the source. That may have changed.
评论 #35728455 未加载
评论 #35728352 未加载
评论 #35728398 未加载
blatant303大约 2 年前
Datomic is an event-sourced db, and it makes it hard to introduce retroactive corrections to the data when your program&#x27;s semantic already rely on using datomic&#x27;s time travelling abilities: at one point you&#x27;ll need to to distinguish between event time and recording time as explained in this excellent blog post:<p><a href="https:&#x2F;&#x2F;vvvvalvalval.github.io&#x2F;posts&#x2F;2018-11-12-datomic-event-sourcing-without-the-hassle.html" rel="nofollow">https:&#x2F;&#x2F;vvvvalvalval.github.io&#x2F;posts&#x2F;2018-11-12-datomic-even...</a><p>This is why I&#x27; rather use XTDB [1], a database similar to datomic in spirit, but with bitemporality baked in.<p>[1] <a href="https:&#x2F;&#x2F;www.xtdb.com" rel="nofollow">https:&#x2F;&#x2F;www.xtdb.com</a>
评论 #35860386 未加载
adamfeldman大约 2 年前
What is Datomic, you ask? It&#x27;s a database written in Clojure. <a href="https:&#x2F;&#x2F;hn.algolia.com&#x2F;?q=datomic" rel="nofollow">https:&#x2F;&#x2F;hn.algolia.com&#x2F;?q=datomic</a><p><pre><code> Datomic is an operational database management system - designed for transactional, domain-specific data. It is not designed to be a data warehouse, nor a high-churn high-throughput system (such as a time-series database or log store). It is a good fit for systems that store valuable information of record, require developer and operational flexibility, need history and audit capabilities, and require read scalability.</code></pre> (via <a href="https:&#x2F;&#x2F;docs.datomic.com&#x2F;pro&#x2F;getting-started&#x2F;brief-overview.html" rel="nofollow">https:&#x2F;&#x2F;docs.datomic.com&#x2F;pro&#x2F;getting-started&#x2F;brief-overview....</a>)
评论 #35728866 未加载
评论 #35730611 未加载
derefr大约 2 年前
&gt; Is it Open Source?<p>&gt; Datomic binaries are provided under the Apache 2 license which grants all the same rights to a work delivered in object form.<p>So... no?<p>(I say that, but &quot;Datomic binaries&quot; presumably refers to compiled JVM class files; and JVM bytecode is notoriously easy to decompile back to legible source code, with almost all identifiers intact. Would Apache-licensing a binary, imply that you have the right to decompile it, publish an Apache-licensed source-code repo of said decompilation, and then run your own FOSS project off of that?)
评论 #35736024 未加载
hombre_fatal大约 2 年前
Aside, I remember HN in 2009 or so where Clojure was a daily homepage staple and Rich Hickey was putting out his talks about Clojure and code design.<p>I watched a lot of that and used Clojure fulltime for five years. Wonder what he&#x27;s up to these days.
评论 #35728206 未加载
评论 #35728347 未加载
评论 #35728230 未加载
评论 #35729502 未加载
评论 #35729297 未加载
评论 #35729573 未加载
beders大约 2 年前
Every single day I wish the architects at my current job had chosen Datomic instead of Postgresql. It would have saved us so so much time and trouble. The time traveling ability alone would have been so useful so many times.<p>Also the ability to annotate transactions is awesome.<p>So many goodies.<p>Here&#x27;s a good summary:<p><a href="https:&#x2F;&#x2F;medium.com&#x2F;@val.vvalval&#x2F;what-datomic-brings-to-businesses-e2238a568e1c" rel="nofollow">https:&#x2F;&#x2F;medium.com&#x2F;@val.vvalval&#x2F;what-datomic-brings-to-busin...</a>
评论 #35733893 未加载
brianwawok大约 2 年前
Datomic LOOKED cool 10-12 years when it first came out. But they started from day 1 with a price, so most people, me included, just passed over it.<p>I think they went way too fast to commercial, and needed to go a freemium model to actually get market share.
评论 #35729882 未加载
rektide大约 2 年前
It notably powers Roam, a kind of interesting notes&#x2F;mini Notion product.<p>There&#x27;s a reasonably interesting writeup of the tech details that helps show off Atomics value some, <a href="https:&#x2F;&#x2F;www.zsolt.blog&#x2F;2021&#x2F;01&#x2F;Roam-Data-Structure-Query.html" rel="nofollow">https:&#x2F;&#x2F;www.zsolt.blog&#x2F;2021&#x2F;01&#x2F;Roam-Data-Structure-Query.htm...</a> <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=29295532" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=29295532</a>
jchw大约 2 年前
Not complaining about the actual announcement itself here: seems pretty sweet all things considered, But: the &quot;Is it Open Source?&quot; section should lead with &quot;No.&quot; It&#x27;s not a complicated question, and it&#x27;s not a complicated answer. I think it&#x27;s weird to talk about having &quot;all the same rights&quot; without explaining why that matters particularly (it does matter, it&#x27;s just not explained much!) but it is somewhat tangential to the question being posed which has a very clear and straightforward answer.<p>I hope more companies consider this unusual arrangement at least as an alternative to other approaches. Permissively licensed binaries can come in handy, though it certainly comes with it&#x27;s risks. For example, Microsoft released the binaries for its WebView2 SDK under the BSD license; this is nice of course, but the side-effect is that we can (and did) reverse engineer the loader binary back to source code. I suspect that&#x27;s unlikely to happen for any substantially large commercial product, and I am not a lawyer so I can&#x27;t be sure this isn&#x27;t still legally dubious, but it&#x27;s still worth considering: the protections of a EULA are completely gone here, if you just distribute binaries under a vanilla permissive open source license.
评论 #35728759 未加载
评论 #35730199 未加载
评论 #35729311 未加载
评论 #35729587 未加载
评论 #35730255 未加载
评论 #35729195 未加载
评论 #35731398 未加载
评论 #35729273 未加载
评论 #35733526 未加载
thayne大约 2 年前
&gt; Is it Open Source?<p>&gt; Datomic binaries are provided under the Apache 2 license which grants all the same rights to a work delivered in object form.<p>That doesn&#x27;t answer the question at all. I assume the answer is no, because otherwise they would just say yes, and have a link to the source code somewhere. But that is such a weird, and possibly duplicitous way to answer.
kgwxd大约 2 年前
I really like Clojure and the ideas behind Datomic but free without source is a trap, every time. They have to make money somehow, but they already sold to a bank. If that bank wants devs willing to work on their systems after the current generation moves on, I think they&#x27;d be better off going open source and to continue paying good devs to work on it. Everyone already knows lock-in is bad for businesses. Devs will seek non-proprietary solutions first, if they can&#x27;t find it, there are already plenty of proven proprietary solutions they&#x27;ll settle on way before Datomic. Open the source, sell the support.
评论 #35731056 未加载
fulafel大约 2 年前
&gt; Datomic Cloud will be available on AWS Marketplace with no additional software cost.<p>This is cool as well. It&#x27;s a CloudFormation template based product you can deploy from AWS Marketplace.
CrimsonCape大约 2 年前
Since the conversation seems to be focusing on the Apache 2.0 license, what would you do? Clearly there isn&#x27;t a lot of precedent for &quot;closed-source, free-to-use&quot; licenses.<p>In this case Datomic maintains development control over their product and &quot;source of truth&quot; is still themselves, and the implicit assumption is that you enthusiastically use their product for free with no strings attached because you respect them as the source of truth.
评论 #35753215 未加载
endisneigh大约 2 年前
The price is certainly right, but has anyone used this in production? What was your experience like?
评论 #35729191 未加载
评论 #35728905 未加载
评论 #35728108 未加载
评论 #35728097 未加载
评论 #35728525 未加载
评论 #35728636 未加载
AzzieElbab大约 2 年前
Congratulations to Rich Hickey&#x27;s children!! I hope your college experience was excellent. Disclaimer: that is how Rich explained why Datomic stayed closed source.
avodonosov大约 2 年前
If you work with Datomic, my little helper functions may be useful: <a href="https:&#x2F;&#x2F;github.com&#x2F;avodonosov&#x2F;datomic-helpers">https:&#x2F;&#x2F;github.com&#x2F;avodonosov&#x2F;datomic-helpers</a>
LukeEF大约 2 年前
There are already a few open-source alternatives that run datalog variant query languages. I&#x27;d point the curious towards TerminusDB [1] and TypeDB [2]. TerminusDB is implemented in prolog (and rust) so an alternative with datalog in the heart.<p>[1] <a href="https:&#x2F;&#x2F;github.com&#x2F;terminusdb&#x2F;terminusdb">https:&#x2F;&#x2F;github.com&#x2F;terminusdb&#x2F;terminusdb</a> [2] <a href="https:&#x2F;&#x2F;github.com&#x2F;vaticle&#x2F;typedb">https:&#x2F;&#x2F;github.com&#x2F;vaticle&#x2F;typedb</a>
jcadam大约 2 年前
The licensing was the biggest thing hurting Datomic adoption. This is a smart (albeit late) move.
praptak大约 2 年前
It&#x27;s free as in beer not as in freedom and the way they formulated that part made me wary of their intentions. (I&#x27;m still a huge fan of Clojure)
NickBusey大约 2 年前
Free as in beer. Not free as in speech.<p>&gt; Is it Open Source?<p>Datomic binaries are provided under the Apache 2 license which grants all the same rights to a work delivered in object form.<p>Datomic will continue to be developed at Nubank, where it is a critical piece of our infrastructure.
评论 #35728538 未加载
评论 #35728090 未加载
评论 #35728174 未加载
评论 #35733774 未加载
r00tbeer大约 2 年前
Hasn&#x27;t everyone learned that &quot;store all the history of changes&quot; is an anti-feature? The Legal departments generally do not care for this (its just more data to make sure you deleted). And it makes schema migrations more painful as not only do you have to migrate the data you have now, but all of your historical data too! If you add a new property do you backfill it in your old data (to keep your code working)? Or start special casing old version in your code? Neither is pretty.<p>If you want historical audit trails, make them intentional and subject to the same rules and patterns as your regular data.
activitypea大约 2 年前
What is the benefit of having it closed source?<p>My view is that Datomic is a novel upstart in the persistence space. Most of their competition - Postgres, Mongo, Cassandra - is open-source, so they&#x27;re just shooting themselves in the foot. The &quot;pay us extra for convenient hosting and consulting&quot; model isn&#x27;t threatened by open-source in the slightest.<p>The only thing I can think of is that they&#x27;re trying to compete with Oracle&#x2F;Db2&#x2F;SQL server, but I can&#x27;t imagine an enterprise eyeing any of those solutions ever giving Datomic a chance.
评论 #35737385 未加载
robertlagrant大约 2 年前
Sounds fantastic - I&#x27;d love to try it. I&#x27;ve been keeping an eye on Clojure and Datomic for years.<p>I always wonder if this sort of move portends an exit of some of the core technical team, who would very much like to fork the codebase and move on, but in this case with only the binaries being opened up, it feels more as though they want some more people to try Datomic out. Databases such as Neo4J do this as well - free to run, but you&#x27;ll probably want to pay for support.
humorless大约 2 年前
I saw some people said that they love Datomic but still felt that Datomic&#x27;s performance is not as good as Postgres, especially in OLAP queries.<p>Actually, you get the best thing from the two world. Plenish is a library that allows you to sync the content in Datomic to Postgres. <a href="https:&#x2F;&#x2F;github.com&#x2F;lambdaisland&#x2F;plenish">https:&#x2F;&#x2F;github.com&#x2F;lambdaisland&#x2F;plenish</a>
sdfjkl大约 2 年前
Where&#x27;s the source? Why does it say &quot;Pricing&quot; on the website if it&#x27;s free? This isn&#x27;t free, it&#x27;s just an attempt at free publicity.
评论 #35729255 未加载
JimmyRuska大约 2 年前
RDFox is worth a try as an alternative, also datalog but C++ based, has incremental reasoning, and explainability. It&#x27;s a database but also a rules engine that can chain any number of rules. As far as I know datomic is unique for its &quot;query the database at any point in history&quot; and incremental tracking of schema changes, easy to use UDFs, it really shines above other databases in that context.
moorg大约 2 年前
For those who haven&#x27;t followed the story:<p>2007 - the Clojure programming language is announced by Rich Hickey and gains quite a bit of traction over the next 5 or 6 years. It never becomes a &quot;top 5&quot; language, but it could still today be arguably considered a mainstream language. It&#x27;s been endorsed as &quot;the best general purpose programming language out there&quot; by &quot;Uncle&quot; Bob Martin[1] (author of Clean Code) and Gene Kim[2] (auther of The Phoenix Project, the seminal DevOps book). The fact that Rich spent two years working on it without pay and without the commercial backing many other languages enjoy is a real testament to his commitment and his vision. A Clojure-related emacs package[3] quotes Rich when it starts a REPL: &quot;Design is about pulling things apart.&quot;<p>2012 - the Datomic database is announced by Rich Hickey&#x27;s company. The database is praised for its ingenuity and its &quot;time travel&quot; features. It was designed to be deployed anywhere in the beginning, but, over time, it became difficult to deploy outside of AWS environments and even the AWS deployment path was quite cumbersome--the Datomic marketing page used to feature a maze-like diagram of all the AWS-specific features needed to make the thing work (it would be nice to find a link to that picture); I&#x27;d think most companies would have trouble digesting that and integrating it into their technology &quot;stack&quot;.<p>2020 - Nubank (a Brazilian fintech backed by at least one US venture firm and a large production user of Datomic) acquires Rich Hickey&#x27;s company. It appears Datamic never gained much use outside of a handful of companies. Making it free of charge (2023) may be the cost-effective thing to do in such a situation if it costs more to handle billing and payments than are brought in. The reason they&#x27;re not releasing the source code could be legal one or simply the fact that open sourcing a large piece of software takes a lot of effort--something a for-profit financial services company like Nubank doesn&#x27;t prioritize (rightly so).<p>1: <a href="https:&#x2F;&#x2F;blog.cleancoder.com&#x2F;uncle-bob&#x2F;2019&#x2F;08&#x2F;22&#x2F;WhyClojure.html" rel="nofollow">https:&#x2F;&#x2F;blog.cleancoder.com&#x2F;uncle-bob&#x2F;2019&#x2F;08&#x2F;22&#x2F;WhyClojure....</a> 2: <a href="https:&#x2F;&#x2F;itrevolution.com&#x2F;articles&#x2F;love-letter-to-clojure-part-1&#x2F;" rel="nofollow">https:&#x2F;&#x2F;itrevolution.com&#x2F;articles&#x2F;love-letter-to-clojure-par...</a> 3: <a href="https:&#x2F;&#x2F;github.com&#x2F;clojure-emacs&#x2F;cider&#x2F;blob&#x2F;master&#x2F;cider-util.el#L636">https:&#x2F;&#x2F;github.com&#x2F;clojure-emacs&#x2F;cider&#x2F;blob&#x2F;master&#x2F;cider-uti...</a>
评论 #35735408 未加载
rbalicki大约 2 年前
If I recall correctly, Datomic gives you the ability to query the database at a given timestamp. Are there other DBs with this feature that folks are aware of?
评论 #35729830 未加载
kragen大约 2 年前
sounds like they&#x27;re not releasing the source code, just the binaries, even though the binaries are under the apache license<p>so, less than useful if you want to study and modify datomic; you may have the <i>legal</i> &quot;right to repair&quot; but not the practical possibility
espeed大约 2 年前
Is SQLite Wasm on the horizon?
评论 #35730993 未加载
warthog大约 2 年前
Wow I wonder what their incentive is in making this public and free
thatwasunusual大约 2 年前
&gt; Datomic&#x27;s is perfect for probably 90% of small-ish backoffice systems that never has to be web scale (i.e. most of what I do at work).<p>I will also argue that 90% of those don&#x27;t need this. Just by seeing the term &quot;web scale&quot; makes me shy off.
评论 #35733917 未加载
nXqd大约 2 年前
amazing piece of work, it&#x27;s nice to see it&#x27;s free.
spapas82大约 2 年前
It seems that they give the binaries for free but they won&#x27;t release the source code. Can somebody explain to me what&#x27;s the point of keeping the source closed in this case? I really can&#x27;t think of any reason
评论 #35728658 未加载
评论 #35728570 未加载
评论 #35729387 未加载
avocade大约 2 年前
Wow, that came out of left-field.<p>Hope it goes open-source as well later on.<p>Thanks guys!
dustingetz大约 2 年前
is Datomic Cloud used by Nubank?
评论 #35729253 未加载
评论 #35754904 未加载
评论 #35732450 未加载
quantum_state大约 2 年前
This is very good news …
elesbao大约 2 年前
nice. now everyone can experiment the pain of running s3+pgsql+a huge blob of binary using container ram ! &#x2F;rant - it&#x27;s an awesome piece of software regardless.
评论 #35739008 未加载
64operator大约 2 年前
Is it Day-Toe-Mike? Duh-Tommic? Can somebody in PR or marketing help me pronouce this correctly in my head? It&#x27;s causing me stress.
评论 #35736334 未加载
评论 #35736539 未加载
评论 #35736207 未加载
rafaelturk大约 2 年前
How datomic is Better&#x2F;worse that symply using DynamoDB?
dgb23大约 2 年前
<a href="https:&#x2F;&#x2F;www.datomic.com&#x2F;get-datomic.html" rel="nofollow">https:&#x2F;&#x2F;www.datomic.com&#x2F;get-datomic.html</a> still seems to show licensing fees at the time of this comment.
1letterunixname大约 2 年前
General PSA: Any open source startup touting their AGPL license is delusional. They will never be used at Google, Meta, or similar because of specific legal directives to avoid these kinds of licenses.
评论 #35736597 未加载