mycat

一、海量数据的存储问题

  随着互联网的发展,数据的量级也是成指数的增长,对数据的操作也是越加的困难,传统的关系型数据库已经无法满足快速查询与插入数据的需求。这个时候 NoSQL 的出现在暂时解决了这一危机。他通过降低数据的安全性,减少对事务的支持,减少复杂查询的支持,来获取性能上的提升。

  但是,一些场合 NoSQL 也是无法满足的。就比如某些场景是绝对要有事务和安全指标的。这个时候 NoSQL 肯定是无法满足的,所以还是需要使用关系型数据库。如果使用关系型数据库解决海量数据存储的问题,就需要做数据库集群。

二、什么是数据库分片

  简单来说,就是指通过某种特定的条件,将我们存放在同一数据库中的数据分散存放到多个数据库中,以达到负载的效果。

  1、按照不同的表来切分到不同的数据库上,这种被称为垂直切分

  2、根据表中数据的逻辑关系,将同一个表中的数据按照某种条件拆分到多台数据库上面,这种切分称之为数据的水平切分

三、如何实现数据库分片

  当数据库分片后,数据由一个数据库分散到多个数据库中。此时系统做查询时需要切换不同的数据库。那么系统如何知道要查询的数据在哪个数据库中呢?要添加一条数据时需要向哪个数据库中添加呢?这些问题处理起来都是非常麻烦的。

  这种情况下可以使用一个数据库中间件 mycat 来解决相关问题。

四、什么是 mycat

  简单的说,MyCAT就是:

  一个彻底开源的,面向企业应用开发的“大数据库集群”

  支持事务、ACID、可以替代Mysql的加强版数据库

  一个可以视为“Mysql”集群的企业级数据库,用来替代昂贵的Oracle集群

  一个融合内存缓存技术、Nosql技术、HDFS大数据的新型SQL Server

  结合传统数据库和新型分布式数据仓库的新一代企业级数据库产品

  一个新颖的数据库中间件产品,提供高可用性数据分片集群。你可以像使用 mysql  一样使用个 mycat 。对于开发人员来说根本感受不到 mycat 的存在

   MyCAT的目标是:低成本的将现有的单机数据库和应用平滑迁移到“云”端,解决数据存储和业务规模迅速增长情况下的数据瓶颈问题。

原文地址:https://www.cnblogs.com/fangwu/p/8729298.html