MySQL + handlersocket
Yoshinori matsunobu is a former sun/Oracle employee engaged in MySQL R & D. Currently, it is the principal database and foundation of dena.
The facility architect works as a plug-in to provide solutions for MySQL/InnoDB, which can be deployed on a 2.53 GHz, 8-core CPU, 32 GB memory
The nehalem server increases the number of queries per second (QPS) to more than 750,000. In the same hardware environment, MySQL without plug-ins
Only around 100,000 QPS can be provided. If memecached is used, it can be increased to about 400,000. After analysis of RDBMS
Matsunobu realizes that most of the time is spent on SQL overhead, such as calling mysqlparse (), mysqllex (),
Make_join_statistics () and join: optimize. He wrote:
Obviously, the reason for performance degradation is mainly at the SQL layer, rather than the "InnoDB (storage)" layer. MySQL must do a lot of things...
Memcached/nosql does not need to do this extra work.
Refer:
MySQL/handlersocket and voltdb: nosql competitors
Http://hi.baidu.com/%CA% AB %D5%B9/blog/item/30e9aed38d3af024960a1649.html
MySQL Server can be considered as a two-tier architecture: SQL layer and storage engine layer.
Handler API for interaction. After receiving the query request from the client, MySQL server usually needs to perform lexical operations in the SQL layer.
Analysis, syntax analysis, optimization, and other processes finally generate a tree-type query plan, which is executed by the execution engine. The execution engine queries
Plan and communicate with the corresponding storage engine to obtain the query results.
The author of handlersocket believes that for the MySQL server with the CPU bound, the SQL layer consumes too much resources, resulting in a total
Poor performance. Handlersocket bypasses the SQL layer of MySQL server and Directly Interacts with the storage engine, resulting in a large
Performance improvement. Handlersocket plugin listens to ports 9998 and 9999 by default, of which 9998 only supports read operations,
9999 supports read/write operations, but the performance is slower than that of port 9998.
Refer:
Http://whitesock.javaeye.com/blog/811339
Some people think that handlersocket cannot be compared with memcache at present:
Handlersocket is great, but don't compare it to memcache just yet.
Dec. 28th, 2010 at AM
The handlersocket plugin for MySQL currently lacks atomic operations. It is impossible
Implement counters (increment/decrement value) or replace functionality with the current
Implementation.
It currently exceeds the performance of memcache for get/set operations, but I want to see
How fast it is once atomic operations are implemented. Until then, I don't think it is
Serious conronfor replacing memcache for the cache layer in a complex environment.
Handlersocket Performance Evaluation:
Handlersocket on SSD
Http://www.mysqlperformanceblog.com/2010/11/02/handlersocket-on-ssd/
Install percona-server and handlersocket in centos 5:
Installing handlersocket on centos 5 + percona-server in Five Easy Steps
1-set up the percona Yum Repository
%> Rpm-UHV http://www.percona.com/downloads/percona-release/percona-release-0.0-
1. x86_64.rpm
Additional documentation for other distributions can be found
Http://www.percona.com/docs/wiki/repositories:start
2-install percona-server packages
%> Yum install Percona-Server-client-51.x86_64 Percona-Server-devel-51.x86_64 percona-
Server-server-51.x86_64 Percona-Server-shared-51.x86_64 Percona-Server-shared-compat.x86_64
3-enable the Plugin in my. CNF by adding the following lines in [mysqld]:
Loose_handlersocket_port = 9998
Loose_handlersocket_port_wr = 9999
Loose_handlersocket_threads = 16
Loose_handlersocket_threads_wr = 1
Open_files_limit = 65535
4-install the plugin
Mysql> install plugin handlersocket soname 'handlersocket. so ';
5-verify
The easiest way to verify that handlersocket is running is to simply telnet to ports 9998
And 9999 on the localhost.
Installation Reference:
Http://whitesock.javaeye.com/blog/811339
Http://hi.baidu.com/higkoo/blog/item/fdb7a8fc51645deffd037f06.html
Nosql:
Nosql is a broad definition of non-relational data storage. It broke the long-term unification of the relational database and acid theory.
Nosql data storage does not require a fixed table structure and usually does not have connection operations. Relational databases cannot be used for big data access.
Performance advantages. This term was widely recognized in the early 2009 S.
Today's application architecture needs to be horizontally scalable for data storage. Nosql storage is designed to meet this requirement.
. Google's bigtable and Amazon's dynamo are very successful commercial nosql implementations. Some open-source nosql bodies
Systems such as Facebook's Cassandra and Apache's hbase have also been widely recognized.
Refer:
Http://blog.csdn.net/DL88250/archive/2010/01/14/5191092.aspx