実現のMycatサブライブラリーのサブテーブル
サブライブラリーサブテーブルの前提を使用します。
データベースのテーブルデータが特に大きい場合には、例えば、レコードの数百万、および最適化データベースのパフォーマンス自体は基本的に問題を解決できない、根本的な原因は、データベース自体で、ボトルネックにこの時間を読み取りおよび書き込みIO、膨大な量のデータを格納する必要性・お問い合わせ。この時点では、データベースのアーキテクチャを最適化することで、サブライブラリーサブテーブルのアイデアを使用する必要があります。このサービスのマイクロアーキテクチャの台頭で、我々は独立してサービスを提供することができ、多くの小規模なアプリケーションに大きな、カットのアプリケーションから完全なアプリケーションを持っています。各アプリケーションは、独自のデータベースを持っています。
Mycatは何ですか?
完全にオープンソース、企業向けアプリケーションの開発「の大きなデータベースクラスタ。」
トランザクション、ACIDのサポートは、MySQLデータベースの拡張バージョンを置き換えることができます
・エンタープライズクラスのデータベースは「Mysqlの」クラスタとみなすことができ、Oracle Clusterwareは、高価な交換するために使用しました
・フュージョンメモリキャッシュを、NOSQL技術は、大規模な新しいSQL ServerのデータをHDFS
・新しい分散エンタープライズレベルのデータベース製品の伝統的なデータベースとデータウェアハウス世代の組み合わせ
・新しいデータベースミドルウェア製品
Mycatアーキテクチャ:
Mycatの主な機能:
サポート SQL 92標準
MySQLクラスタをサポートし、プロキシとして使用することができます
JDBC接続ORACLE、DB2、SQL Serverのサポートは、MySQLサーバをシミュレートするために、それを使用します
MySQLのクラスタ、perconaクラスタまたはmariadbクラスタのサポートガレラ、高可用性データの断片化のクラスターを提供します
自動フェイルオーバー、高可用性
から複数のダブルメインとは別の読み取りと書き込みのサポートMySQLをサポートし、マルチマスタモード
グローバルテーブルをサポートし、データは、クエリに関連付けられた効率的なテーブルの複数のノードをフラグメント化します
ERのユニークな関係に基づいてサポートパーティション化戦略、クエリに関連した効率的なテーブルを可能にします
マルチプラットフォームのサポート、簡単な導入と実装
Mycatの問題:
L クロスデータベースが問題に参加します
* 通过业务分析,将不同库的join查询拆分成多个select
* 建立全局表(每个库都有一个相同的表)
* 冗余字段(不符合数据库三范式)
* E-R分片(将有关系的记录都存储到一个库中)
* 最多支持跨两张表跨库的join
l 分布式事务(弱事务)
* 强一致性事务(同步)
* 最终一致性事务(异步思想)
l 分布式主键
* redis incr命令
* 数据库(生成主键)
* UUID
* snowflake算法
Mycat的下载及安装
下载mycat:
github地址:https://github.com/MyCATApache
Mycat安装:
安装rz上传文件工具
yum install -y lrzsz
第一步:把MyCat的压缩包上传到linux服务器
第二步:解压缩,得到mycat目录
tar -zxvf Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz
第三步:进入mycat/bin,启动MyCat
启动命令:./mycat start
停止命令:./mycat stop
重启命令:./mycat restart
注意:可以使用mysql的客户端直接连接mycat服务。默认服务端口为8066