Original article 12/13/2014. John Evans, TechCrunch Columnist.
Silicon Valley Story
Databases are the backbone of the IT industry: non-spy, invisible, but critical. And it is extremely destructive when they break or deform. This makes DB specialists cautious. For years, only the Big Trinity - Oracle, IBM DB2, and maybe SQL Server - were the only serious options. Then open source alternatives - MySQL, ProstgreSQL - became viable. And then, over the past five years, everything became very interesting ...
A bit of history.
At the turn of the millennium, more and more people began to realize that formal, structured,
normalized databases, requested through a subset of the
SQL language, are more often more difficult than simplifying development. Over the past 10 years, a lot of new databases have appeared, especially in the depths of Google, which had a special need for distributed data warehouses - as the
BigTable ,
Megastore and Spanner results.
In the meantime, Apache brought us
Cassandra ,
HBase , and
CouchDB ; Citrix offered a
plug-and-play MySQL distributed replacement ; Redis has become a fundamental part of a multitude of Ruby on Rail (and similar) applications; and especially
MongoDB has become very popular among startups in spite of loud
criticism - in particular, write lock, which did not allow parallel recording to the entire cluster. This, fortunately, will soon
be corrected , which will lead to considerable glee. (For reference: I'm a developer, and did some work with MongoDB, and I'm not a fan.)
')
Interestingly, these new developments — the so-called NoSQL “databases” —were cutting-edge startups, and very few such dreamers took their work
seriously . Databases are too critical, after all. If your database is deformed, then you are in a big ass. If your database does not guarantee the integrity of your data and your transactions (for example, if it does not support what is called an "
ACID transaction "), then real database engineers will not take it seriously.
ACID
MongoDB is
not ACID compatible . Similar to Cassandra, Riak, Redis, etc. By the way, sometimes they even claimed that NoSQL databases are fundamentally ACID incompatible. It is not true. Google Megastore is
actually ACID compatible , and their Spanner is
even better . But you cannot use Megastore outside Google, unless, of course, you are going to create your application entirely on their original App Engine platform.
That's why I was greatly intrigued a couple of years ago when I came across a booth at TechCrunch Disrupt, whose slogan was “NoSQL, YesACID”. It was occupied by a company called
FoundationDB , which created a magnificent
ACID compliant 1 key-value store, on top of which access is provided through so-called. SQL
layer . A week ago, they
announced the release of FoundationDB 3.0, which is 25 times faster than the previous version due to what they call the “heart and lung transplant” engine.
This is a
great feat in engineering . Quoting their blog post, it's not just 14 million entries per second, it's 14 million entries in a “fully ordered, fully transactional database with 100% multi-key
multi-node transactions [...] in the cloud [...]. In other words, FoundationDB can make 3.6 million entries for 1 cent. ”
Impressive. Impressive enough to attract the attention of database engineers from the Enterprise field. And, of course, ideal for the upcoming Internet of Things, and a huge amount of data that will be constantly generated by various devices.
But, most importantly, it will spur their competitors to greater achievements, which, in turn, will push a huge number of enterprises frozen in the Bronze Age, using Oracle and DB2, to perhaps a slow, orderly move to a modern day. A day in which developers are spoiled with simple key-value repositories, powerful classic SQL queries, and distributed ACID transactions at the same time.
And in the long run it will make life better. In the meantime, I take off my hat to the unsung database engineers who are somewhere
pushing the engine of progress . You cannot imagine this for yourself, but they are doing us a great service.
oneIf you follow links, they intend to miss the description of the letter “C” in the acronym ACID. But for accuracy, I will say that they mean strong consistency, not eventual consistency.
(From translator)
BUTSomewhere I saw a tweet that guys are working on a Document Layer. Hope it will be MongoDB compatible.
This is the first article in an upcoming series of articles about FoundationDB. Keep your finger on the pulse.