大家搭建过mysql分布式集群吗?
MySQL分布式集群搭建
:管理节点(MGM):这类节点的作用是管理MySQLCluster内的其他节点,如提供配置数据,并停止节点,运行备份等。由于这类节点负责管理其他节点的配置,应该在启动其他节点之前启动这类节点。MGM节点是用命令“ndb_mgmd”启动的;数据节点(NDB):这类节点用于保存Cluster的数据,数据节点的数目与副本的数目相关,是片段的倍数。例如,对于两个副本,每个副本有两个片段,那么就有4个数据节点,没有必要设定过多的副本,在NDB中数据会尽量的保存在内存中。数据节点使用命令“ndb”启动的;
SQL节点:这是用来访问Cluster数据的节点,对于MySQL Cluster,客户端节点是使用NDB Cluster存储引擎的传统MySQL服务器。通常,SQL节点使用命令“mysqld-ndbcluster”启动的;
mysql与oracle九大区别?
MySQL和Oracle是两种不同的关系型数据库管理系统,它们有以下九大区别:
1. 开发公司不同:MySQL由瑞典MySQL AB公司开发,后被Sun公司收购,现在是Oracle公司的产品之一;Oracle由Oracle公司开发。
2. 数据库大小限制不同:MySQL支持的数据库大小通常较小,一般不超过2TB;而Oracle可以支持非常大的数据库,甚至可以超过100TB。
3. 数据库性能不同:Oracle相对于MySQL来说是更高性能的数据库,尤其是在处理大型企业级数据库时。
4. 数据库安全性不同:Oracle相对于MySQL来说拥有更好的安全性,例如更完善的加密技术和访问控制机制等。
5. 数据复制和同步机制不同:MySQL拥有分布式数据库的能力,因此在数据复制和同步方面较为便捷;而Oracle在这方面需要较为复杂的集群技术。
6. 数据库备份和恢复机制不同:MySQL在备份和恢复方面较为简单,但是在处理大型数据库时可能会出现问题;而Oracle在这方面相对更为完善。
7. 数据库价格不同:MySQL是一款开源的数据库管理系统,因此可以免费使用;而Oracle是一款商业数据库,需要付费才能使用。
8. 数据库功能不同:Oracle相对于MySQL拥有更多的高级功能,例如分区、数据挖掘和OLAP等。
9. 数据库应用领域不同:MySQL通常用于Web应用程序、小型企业和中小型网站的开发;而Oracle则通常用于大型企业级应用、数据仓库等高要求应用场景。
谈谈mongodb,mysql的区别和具体应用场景?
官方文档看一看。
编程实例练一练。
源码看一看。
一般互联网公司多用mysql,redis,mongodb做存储层,hadoop,spark做大数据分析。
mysql适合结构化数据,类似excel表格一样定义严格的数据,用于数据量中,速度一般支持事务处理场合。
redis适合缓存内存对象,如缓存队列,用于数据量小,速度快不支持事务处理高并发场合。
mongodb,适合半结构化数据,如文本信息,用于数据量大,速度较快不支持事务处理场合。
hadoop是个生态系统,上面有大数据分析很多组件,适合事后大数据分析任务。
spark类似hadoop,偏向于内存计算,流计算,适合实时半实时大数据分析任务。
移动互联网及物联网让数据呈指数增长,NoSql大数据新起后,数据存储领域发展很快,似乎方向都是向大数据,内存计算,分布式框架,平台化发展,出现不少新的方法,如Apache Ignite适合于内存计算就集成了好多功能模快,Apache Storm、Spark、Flink也各有特点。
一般普通应用TB,GB级别达不到PB级别的数据存储,用mongodb,mysql就够了,hadoop,spark这类是航母一般多是大规模应用场景,多用于事后分析统计用,如电商的推荐系统分析系统。
聪明的战士总是选择适合的武器。具体什么场合用什么数据存储策略或混合使用,需要分析业务特点及未来业务发展需求来决定。