Original URL: http://www.csdn.net/article/2015-12-23/2826546
1.Mycat is an open-source distributed database system, its core function is to divide the table, to divide a large table into multiple small tables, stored in the back-end MySQL or other databases.
2. joining Mycat gives me the biggest feeling is that the open source team's efficiency and participation enthusiasm is very high, which makes me believe that China's open source product development prospects are limitless. the core members of the two people gave me a particularly deep impression: one is Wu Jingrun (net name Tuo God), he is from Wifiin's senior engineer, there is a Deng Liren (Network name listening), he is a senior engineer from Xiaomi. After their further transformation of the Mycat, now Mycat has run very stably in their respective companies, solving the massive concurrency problems that most make internet companies headache. These from the Internet first-line enterprise's real case, strengthens the majority netizen to Mycat product the trust.
3.Mycat Development to the current version, is not a simple MySQL agent, its backend can support MySQL, SQL Server, Oracle, PostgreSQL and other mainstream databases, but also support MongoDB this new NoSQL mode of storage , more types of storage will be supported in the future. Regardless of which storage method is used, in Mycat is a traditional database table, support the standard SQL statement data operation, so that the front-end business system, can greatly reduce the development difficulty, improve development speed. In the future, the data can be automatically poured into Hadoop through mycat, and can be used for large-scale data analysis with the Mycat+storm/spark stream engine.
4.Mycat development to the present, the application of the scene is very rich, and constantly new users to give new innovative solutions, the following are a few typical applications: support for read and write separation, master-slave switching, configuration is very simple, sub-table sub-library, such as according to the system of different business vertical sub-Library, Or for a large table of more than 10 million data to be horizontally fragmented; multi-tenant applications, one library per application, but the application only connects to Mycat, which does not transform the program itself to achieve multi-tenancy, the reporting system, with the help of Mycat's sub-table capacity, to handle the statistics of large-scale reports.
5. What is the next step of Mycat's planning? first, strengthen the function of distributed database, make it have rich plug-in, powerful Database intelligent optimization function, comprehensive system monitoring ability, and convenient data operation and maintenance tools, realize on-line data expansion, migration and other advanced functions; second, further advance into the field of big data computing, the deep integration of spark The distributed real-time streaming engine, such as stream and storm, is able to perform fast OLAP directions such as the giant Table Association, sorting, grouping aggregation , and integrating some of the most popular real-time analysis algorithms. Make it easier for engineers and DBAs to implement advanced data analysis processing capabilities with MYCAT.
6. What channels will you use to improve your personal skills in your daily work? Wang Jinjian: the way to enhance personal ability, I mainly through a lot of reading, for reading ability, my personal advice is not a study plan, but to make reading into fun, read a few pages a day, originally looked very thick a book, unconsciously also read, And because it is fun to read with a very happy mood, so the knowledge in the book can digest and absorb very well.
7. The development of database technology to today, from the relational database to the current variety of cloud computing, NoSQL products. As a traditional database developer, it is necessary to keep up with the technical development, while further improving the traditional database knowledge, but also to master more new database technology, as well as cloud service technology. In addition to improving the depth of technology, we should also pay attention to improve the breadth of knowledge.
Mycat: Open source distributed Database middleware
Original URL: http://www.csdn.net/article/2015-07-16/2825228
1. Although there are congenital drawbacks to traditional databases in the age of cloud computing, NoSQL databases cannot replace them. If the traditional data is easy to expand, can be segmented, you can avoid single-machine (library) performance defects.
2. From the definition and classification, it is an open source distributed database system, is a server that implements the MySQL protocol, the front-end user can think of it as a database agent, with the MySQL client tools and command line access, The backend can use the MySQL native protocol to communicate with multiple MySQL servers, or use the JDBC protocol to communicate with most major database servers, and its core function is to divide the table into sub-libraries, to split a large table horizontally into n small tables, stored in the back-end MySQL server or other databases.
The 3.MyCat architecture design is as follows:
4.Mycat Technical principle
One of the most important verbs in the MYCAT technical principle is "intercept", which intercepts the SQL statements sent by the user, and first makes some specific analysis of the SQL statements: such as shard analysis, routing analysis, read-write separation analysis, cache analysis, and so on, and then send this SQL back to the real database, The returned results are processed appropriately and then returned to the user.
Read the interview Mycat Core Development member Wang Jinjian: With Mycat easy to defend against massive concurrency "summary