随着大型互联网应用的发展,海量数据的存储和访问成为系统设计的瓶颈,分布式处理成为不二选择。数据库拆分,特别是水平分库是个高难度的活,涉及一系列技术决策。
本人有幸负责1号店订单水平分库的方案设计及实施落地,这里结合项目实践,对水平分库做一个系统地剖析,希望为大家水平分库(包括去IOE)改造提供思路,主要内容包括:
水平分库说明分库维度– 根据哪个字段分库分库策略– 记录如何分配到不同库...
分类:
其他好文 时间:
2016-03-26 07:32:44
阅读次数:
309
kingshard是一个由Go开发高性能MySQLProxy项目,kingshard在满足基本的读写分离的功能上,致力于简化MySQL分库分表操作;能够让DBA通过kingshard轻松平滑地实现MySQL数据库扩容。kingshard的性能大约是直连MySQL性能的80%以上。一.基础功能支持SQL读写分离(已验证)支持多个slav..
分类:
数据库 时间:
2016-03-23 06:51:46
阅读次数:
1446
申明:此文为转载(非原创),文章分析十分透彻,已添加原文链接,如有任何侵权问题,请告知,我会立即删除。 第1章 引言 随着互联网应用的广泛普及,海量数据的存储和访问成为了系统设计的瓶颈问题。对于一个大型的互联网应用,每天几十亿的PV无疑对数据库造成了相当高的负载。对于系统的稳定性和扩展性造成了极大的...
分类:
数据库 时间:
2016-03-14 12:01:48
阅读次数:
204
1 分库
1.1 按照功能分库
按照功能进行分库。常见的分成6大库:
1 用户类库:用于保存了用户的相关信息。例如:db_user,db_system,db_company等。
2 业务类库:用于保存主要业务的信息。比如主要业务是笑话,用这个库保存笑话业务。例如:db_joke,db_temp_joke等。
3 内存类库:主要用Mysql的内存引擎。前台的...
分类:
数据库 时间:
2016-03-13 14:35:53
阅读次数:
263
在实现分库分表的情况下,数据库自增主键已无法保证自增主键的全局唯一。为此,MyCat 提供了全局sequence,并且提供了包含本地配置和数据库配置等多种实现方式。 本地文件方式 原理:此方式MyCAT将sequence配置到文件中,当使用到sequence中的配置后,MyCAT会更下conf中的s
分类:
其他好文 时间:
2016-03-13 00:39:24
阅读次数:
288
达达CTO谈创业公司如何走高性能服务端优化之路 目录[-] 业务场景 最初的技术选型 读写分离 垂直分库 水平分库(sharding) 总结 ##业务场景 达达是全国领先的最后三公里物流配送平台。 达达的业务模式与滴滴以及Uber很相似,以众包的方式利用社会闲散人力资源,解决O2O最后三公里即时性配
分类:
其他好文 时间:
2016-03-08 23:51:47
阅读次数:
383
分布式全局不重复ID生成算法 算法全局id唯一id 在分布式系统中经常会使用到生成全局唯一不重复ID的情况。本篇博客介绍生成的一些方法。 常见的一些方式: 1、通过DB做全局自增操作 优点:简单、高效 缺点:大并发、分布式情况下性能比较低 有些同学可能会说分库、分表的策略去降低DB的瓶颈,单要做到全
分类:
编程语言 时间:
2016-02-27 12:26:27
阅读次数:
842
根据字段条件清理mysql数据库数据背景线上某个数据库有1000个分库的DB,磁盘告警,每个库的大小都不是很大但是加起来就非常大了。手动根据时间字段来清理数据不太现实,于是决定写脚本来删除指定时间以前的数据。脚本:#/bin/bash
##authbyqunyingliu
##filesinxxx
HOST=$1
D..
分类:
数据库 时间:
2016-02-26 12:32:12
阅读次数:
228
1, 分库分表的优缺点、以及为什么分表方式无法成为主流?
分表:在台服务器上,优点是易维护,类似表分区,缺点是在一台db服务器上,无法分担IO、负载集中。
分库:在多台服务器上,优点是分担IO、负载均衡,缺点是较不易维护、数据统计以及jion操作有些难度。数据库切分的目的是为了分担IO、负载均衡,分表无法达到最佳的要求,所以无法成为主流。
2, 准备主库
tar -xvf mysql-5...
分类:
其他好文 时间:
2016-02-01 02:20:52
阅读次数:
275