Four of the world's four largest four open source libraries
Open source database MySQL MySQL is an open source, small, associative database management system developed by MySQL AB of Sweden. Currently MySQL is widely used in small and medium-sized sites on the Internet. Because of its small size , speed , low total cost of ownership , especially open source ... Open source database MySQL MySQL is an open source small associative database management system developed by MySQL AB of Sweden. Currently MySQL is widely used in small and medium-sized websites on the Internet. Because of its small size, speed, low total cost of ownership, especially open source this feature, many small and medium-sized websites in order to reduce the total cost of ownership of the site and choose MySQL as a website database. Inventory: Those free database software in the open source community MySQL provides APIs for a variety of programming languages, including C, C++, C#, Delphi, Eiffel, Java, Perl, PHP, Python, Ruby, and Tcl, etc. MySQL is also available in C, C++, C#, Delphi, Eiffel, Java, Perl, PHP, Python, Ruby, and Tcl. It is itself written in C and C++ and tested using a variety of compilers, so MySQL can ensure that the source code is highly portable. Such a database is naturally able to support almost all operating systems, from Unix, Linux to Windows, specifically AIX, BSDi, FreeBSD, HP-UX, Linux, Mac OS, Novell Netware, NetBSD, OpenBSD, OS/2 Wrap, Solaris, SunOS, Windows, and many other operating systems. Most importantly, it is a large database that can handle having tens of millions of records. At the same time, MySQL has produced a number of branch versions of the database that are also highly recommended. The first is MariaDB, which is a fork of MySQL with the Maria storage engine, a free and open source database server developed by the company founded by Michael Widenius, the author of the original MySQL. Compared with MySQL, MariaDB is stronger in that it has more engines, including the Maria storage engine, the PBXT storage engine, the XtraDB storage engine, and the FederatedX storage engine, which enables faster replicated query processing, faster operation, better feature testing, and support for Unicode sorting. Next is rcona, which improves on the MySQL database server and provides significant functionality and performance improvements over MySQL. This version improves the performance of InnoDB under high load, and it also provides some very useful performance diagnostic tools for DBAs and many parameters and commands to control server behavior. Third is Percona Server, which uses things like google-mysql-tools, Proven Scaling and Open Query to transform MySQL. Also, it only includes the server version of MySQL and does not provide corresponding improvements to MySQL's Connector and GUI tools. Non-Relational Databases NoSQL Literally, NoSQL is Not Only SQL, which is regarded as a new revolutionary movement in databases, and was proposed early on, and the trend has been growing higher and higher until 2009. advocates of NoSQL advocate the use of non-relational data storage, as opposed to the current overwhelming use of relational databases, this concept is undoubtedly a new way of thinking. This concept is undoubtedly an injection of new thinking. Inventory: Free Database Software from the Open Source Community Of course, NoSQL has only made great strides with the rise of Web 2.0 sites on the Internet. The key demand is that the traditional relational database to cope with Web2.0 Web site, especially large-scale and high concurrency SNS type of web2.0 purely dynamic Web site appeared to be unable to do, exposing a lot of insurmountable problems, while the non-relational database due to its own characteristics have been very rapid development. The first recommended is Oracle NoSQL Database, which is a community version of Oracle's NoSQL Database, is released on October 4 of the Oracle Global Book of Big Data Appliance one of the components, Big Data Appliance is an integrated Hadoop, Big Data Appliance is a system that integrates Hadoop, NoSQL Database, Oracle Database Hadoop Adapter, Oracle Database Hadoop Loader and R language. The next recommendation is Membase, a new heavyweight member of the NoSQL family.Membase is an open-source project with source code under the Apache 2.0 license. The project is hosted on GitHub.Source tarballs and a beta version of the Linux binary package is currently available for download. The product was developed primarily by members of North Scale's memcached core team, which also includes engineers from Zynga and NHN, two major contributors, both organizations are very large providers of online gaming and community web space. Moreover, Membase is easy to install and operate, and can be easily scaled from a single node to a cluster. Moreover, Membase implements plug-and-play functionality for memcached (wired protocol compatibility), which provides a relatively low threshold for developers and operators in terms of application. As a caching solution, Memcached has been widely used in different types of fields (especially high-volume Web applications), in which part of the basic code of Memcached is directly applied to the front-end of Membase server. Membase has good reusability by being compatible with many programming languages and frameworks. In terms of installation and configuration, Membase provides an efficient graphical interface and programming interface, including configurable alert messages. The goal of Membase is to provide external linear scalability, including the ability to replicate against unified nodes in order to increase cluster capacity. In addition, redistribution of stored data is still necessary. The third recommendation is Hibari, which means "lark" in Japanese, and is a database engine designed for high reliability and big data storage in cloud computing environments such as webmail, SNS, and other environments that require T/P-level data storage. Hibari also supports clients in Java, C/C++, Python, Ruby and Erlang. The fourth recommendation is memcachedb. This is an open source project opened up by the developers of Sina.com, adding Berkeley DB persistent storage mechanism and asynchronous master-minor replication mechanism to the memcached distributed cache server , so that memcached has the ability to transaction recovery , persistence and distributed replication capabilities , ideal for those who need to ultra-high-performance read and write speed, but do not need strict transaction constraints, can be saved by the persistence of application scenarios, such as memcachedb is used in sina blog above. The fifth recommendation is Leveldb, which is a Google implementation of a very efficient kv database, the current version 1.2 can support billion-level data volume. In this amount of level there is a very high performance, mainly due to its good design, especially the LSM algorithm. levelDB is a single-process service, the performance is very high, in a 4 Q6600 CPU machine, write data per second more than 40 w, while the performance of random reads per second more than 10 w. Advantages of the XML database XML database is a support for the storage and querying of XML format documents. XML format documents for storage and query and other operations of the data management system. In the system, developers can query, export and serialize XML documents in the database in a specified format. Currently there are three types of XML databases: XMLEnabledDatabase (XEDB), that can handle XML database; NativeXMLDatabase (NXD), that is, pure XML database; HybridXMLDatabase (HXD), that is, hybrid XML database. The first generation of XML support in relational databases is to slice (or decompose) the document to fit the relational tables or store the document as is as a character or binary large object (CLOB or BLOB). Either of these two approaches attempts to force conversion of the XML model into a relational model. However, both approaches have significant functional and performance limitations. Hybrid models store XML in a DOM-like model. the XML data is formatted as cached data pages for fast navigation and execution of queries as well as for simplified indexing. The primary XML database to recommend here is Sedna. it claims to be an original XML database that provides full-featured core database services including persistent storage, ACID transactions, indexing, security, hot standby, UTF8, and more. The implementation of the W3C XQuery specification , support for full-text search and node-level update operations. The second XML database is BaseX. This database is used to store tight XML data , provides a highly efficient implementation of XPath and XQuery , at the same time , it also provides a front-end interface . Inventory: open source community of those free database software The third recommended is XMLDB. this database uses a relational database to store any XML document , because of the storage mechanism used , so the document search speed is particularly fast , while the implementation of the XSL transformation is also quite fast . XMLDB also provides a PHP module can be used in Web applications. The fourth piece of recommended is X-Hive/DB. It is a powerful proprietary XML database designed for software developers who need advanced XML data processing and storage capabilities. X-Hive/DB Java API contains methods for storing , querying, retrieving, transforming and publishing XML data. Compared with traditional relational databases, XML databases have the following advantages: First, XML databases can effectively access and manage semi-structured data. For example, web page content is a kind of semi-structured data, and the traditional relational database for similar web page content such semi-structured data can not be managed effectively. Second, provide operations on labels and paths. The traditional database language allows the operation on the value of the data element, but not on the element name, while the semi-structured database provides the operation on the label name and also includes the operation on the path. Third, when the data itself has hierarchical characteristics, because the XML data format can clearly express the hierarchical characteristics of the data, so the XML database facilitates the operation of hierarchical data. XML database is suitable for the management of complex data structure of the data set, if the information has been stored in XML format, the XML database is conducive to the storage and retrieval of documents; you can retrieve the documents in a convenient and practical way, and Can provide high-quality full-text search engine. In addition, XML databases can store and query heterogeneous document structure, to provide support for heterogeneous information access.