Skip to content

yhcui/Mycat-Server

 
 

Repository files navigation

GitHub issues GitHub forks GitHub stars MyCAT

MyCAT is an Open-Source software, “a large database cluster” oriented to enterprises. MyCAT is an enforced database which is a replacement for MySQL and supports transaction and ACID. Regarded as MySQL cluster of enterprise database, MyCAT can take the place of expensive Oracle cluster. MyCAT is also a new type of database, which seems like a SQL Server integrated with the memory cache technology, NoSQL technology and HDFS big data. And as a new modern enterprise database product, MyCAT is combined with the traditional database and new distributed data warehouse. In a word, MyCAT is a fresh new middleware of database.

Mycat’s target is to smoothly migrate the current stand-alone database and applications to cloud side with low cost and to solve the bottleneck problem caused by the rapid growth of data storage and business scale.

Features

  • Supports SQL 92 standard
  • Supports MySQL cluster, used as a Proxy
  • Supports JDBC connection with ORACLE, DB2, SQL Server, simulated as normal MySQL Server connection
  • Supports MySQL cluster, percona cluster or mariadb cluster, providing high availability of data fragmentation clusters
  • Supports automatic failover and high availability
  • Supports separation of read and write, dual-master with multi-slave, single-master with multi-master of MySQL model
  • Supports global table, automatically fragment data into multiple nodes for efficient relational query
  • Supports the unique fragmentation strategy based on ER-relation for efficient relational query
  • Supports multiple platforms, easy deployment and implementation

Advantage

  • Based on Alibaba's open-source project Cobar, whose stability, reliability, excellent architecture and performance, as well as many mature use-cases make MyCAT have a good starting. Standing on the shoulders of giants, MyCAT feels confident enough to go farther.
  • Extensively drawing on the best open-source projects and innovative ideas, which are integrated into the Mycat’s gene, make MyCAT be ahead of the other current similar open-source projects, even beyond some commercial products.
  • MyCAT behind a strong technical team whose participants are experienced more than five years including some senior software engineer, architect, DBA, etc. Excellent technical team to ensure the product quality of Mycat.
  • MyCAT does not rely on any commercial company. It’s unlike some open-source projects whose important features is enclosed in its commercial products and making open-source projects like a decoration.

Roadmap

  • On the basis of MySQL’s support, MyCAT add more support of commercial open-source database, including native support of PostgreSQL, FireBird and other open-source databases, as well as indirect support via JDBC of other non-open-source databases such as Oracle, DB2, SQL Server etc.
  • More intelligent self-regulating properties, such as automatic statistical analysis of SQL, automatic creating and adjusting indexes. Based on the frequency of read and write, MyCAT automatically optimizes caching and backup strategies
  • Achieve a more comprehensive monitoring and management
  • Integrated with HDFS, provide SQL commands, load databases into HDFS for rapid analysis
  • Integrated excellent open-source reporting tools to make MyCAT have data analysis capability

Download

There are some compiled binary installation packages in Mycat-download project on github at Mycat-download.

Document

There are some documents in Mycat-doc project on github at Mycat-doc.

Play with Mycat -- Mycat All In One

All in one is the integrated developing & testing environment ,a centos 7 virtual machine with Mycat-server,Mycat-WEB,MYSQL,ZooKeeper installed .

You can execute the following steps to get mycat working platform: import CentOs7.voa

  • install Oracle VM VirtualBox
  • run Oracle VM VirtualBox
  • download mycat-all-in-one ,press here to get all-in-one,password:v63y
  • File -> Import Appliances
  • choose the path you download CentOS 7.ova, choose the ova file
  • you can get everything done,just press next

setup virtual box

  • login user name : root, password: 123456
  • run the multiple mysql instances by the commands shown as follow:
mysqld_multi start

setup Mycat

  cd /opt/mycat
  ./bin/mycat start

run zookeeper

  • cd /opt/zookeeper-3.4.6
  • bin/zkServer.sh start
  • bin/zkCli.sh

connect to Mycat --> this step should be done on you host computer

  • setup Navicat Premium
  • create a connection to Mycat with IP:8066 , username : test , password: test
  • if connection correct , you would see the database's name is TESTDB
  • then you could try everything you like ,just have fun !

pay attention to Mycat's IP in 'connect to Mycat' step ,
the IP address may different from your own host IP ,
you need to justify the IP by rewrite the file under /etc/sysconfig/network-scripts/ifcfg-enp0s3 ,
then run

service network restart

to let the modified file work

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 98.5%
  • Other 1.5%