Redefining database History-time series Database Schwartz think Influxdb is the most promising, Elasticsearch is good

Source: Internet
Author: User
Tags influxdb

transferred from: Http://www.infoq.com/cn/news/2017/04/redefine-database-history

Vividcortex Company founder and CEO Baron Schwartz, we may be more unfamiliar, but read his book, "High-performance MySQL" must be a few people. He has also done a lot of performance analysis, monitoring and management of open source software. He has also contributed to many different database communities, including Oracle, PostgreSQL, Redis, and MongoDB. He recently shared some ideas about the database on his blog. From 2000 to the beginning of the internet tide of lamp combination, to the emergence of competitors, from the phenomenon of some of the key factors, he talked about what we can get from the harvest, as well as the prospects for the future.

Why does the combination of lamp have such a great success? In fact, each of its components has a lot of things to say, but also reflects the changes in technology architecture, or the product of architectural changes. But I think MySQL is the leader of today's database trends.

The success of MySQL is complementary to the prosperity of the Internet, and there are many factors that make it difficult to conclude, but it is clear that it is "good enough". The great success of MySQL also created the later NoSQL tides, but as NoSQL's definition slowly cooled down to "not just SQL" by "Don't SQL", and slowly supported the SQL-like language, after all this, Baron Schwartz believes that the relational database will continue to grow and endure, but its dominance has been shaken, and some of the emerging technologies will inevitably evolve to the same footing. He thinks it is now clear that some historic changes have taken place in database technology.

Next-generation Universal database

relational databases and SQL are more painful to use. SQL does not very intuitively reflect the true intentions of the person who writes the SQL. And when it comes to SQL execution, if it's not a database expert, you don't know how much the database is doing behind the scenes, and how many side effects it can have. It is also very painful to write SQL into your program code, because modern editors can help you solve many programming language problems while writing code, but they do nothing about the SQL language blocks in your program code. In the editor it seems that they are meaningless strings, there is no way to compile, grammar check, even type checking and so on. Until the program runs up, you can get some obscure execution back.

So there are many aspects of SQL that can be improved, such as letting the program code and database use the same language and toolset, designing a database query language that is similar to the way the programming language works, and mapping the database to the program's memory space ... Wait a minute. Of course, this will introduce many new problems, after all, when SQL was invented to solve a batch of old problems, but also introduced a lot of new problems. History is always strikingly similar.

In fact, these are the reasons for the emergence of a new generation of databases around 2009 years, such as Map-reduce database, key-value database, JavaScript database and so on. They all have their own good intentions, have done very well in some areas, and have been criticized in some ways. As a close observer of emerging database technologies, Baron Schwartz has been very bullish on MongoDB, Redis, and Riak. Now it is also proven that MongoDB and Redis are widely used. Although Schwartz does not dare to assert the absolute cause of the two databases winning, it is certainly partly because they are very enjoyable to use:

The design concept for Redis is simple: tag a piece of data and then use that tag to get and manipulate the data. The data structure is very rich, and the data structure design is very consistent with the habits of the program staff, the operation of the process is the basic operation of building the application. Furthermore, Redis is very focused on doing these things well and is not distracted from solving other problems.

The concept of MongoDB is similar, basically that the database should be able to store nested, structured documents, and can map directly to the data structures or objects used in the programming language. And on top of that, MongoDB has another powerful tool: You can query a database directly using a very wide range of JavaScript applications. Also, it has built-in distributed features, so your business program doesn't have to think about shard details anymore.

At the same time, other NoSQL databases have not used similar ideas to solve similar problems, so after the tide, they will slowly exit the historical stage. For example, Cassandra solves the distributed problem, but it is very limited to the programmer's performance, and eventually becomes a very high usable but not very powerful database, so there is no attraction.

Baron Schwartz that:

The more modern databases that people will create in the future will certainly be very useful and useful.

Time Series Database

The time series database saves events with timestamps and takes timestamps as a very natural and basic part of the data model. They support time-based analysis to support time-based queries as the first priority. Many time series databases even enforce that any query must have time as a dimension.

Baron Schwartz has discussed the time series database in detail, arguing that the world is a time series and sharing the needs that he believes the time-series database should meet (although some of his ideas have changed in response to the needs). in the existing database products of this type, Schwartz think Influxdb Most promising, elasticsearch is also good.

Influxdb's recent focus has risen sharply as it tries to define "what is a native time-based database" and tries to answer whether it is sufficient to satisfy such a feature as a database, and what features the user might want to add after having such a feature. Defining the functional boundaries of a database is difficult, but now it looks like Influxdb is doing quite well.

Elasticsearch provides the function of time series in some aspects, but its core is not here. It is actually a distributed query engine with a time concept. This is natural, and people will have a question: if you're going to use a time-based, non-time-series database, why don't you just use a relational database with time-series functionality?

Baron Schwartz thinks that anyway, one thing is quite certain:

Time series is very important, there will be a very good dedicated time series database to meet this requirement. Definitely not just content with some other type of database claim: "Oh, we also support that feature!" ”

Xxx

Redefining database History-time series Database Schwartz think Influxdb is the most promising, Elasticsearch is good

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.