- 浏览: 447108 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (267)
- java (8)
- 求职&面试 (1)
- linux (33)
- windows (1)
- C++ (5)
- android (12)
- QT (1)
- 经验 (1)
- memory-leaks (1)
- Streaming&V/A (1)
- network&security (5)
- SCM (13)
- mysql (10)
- browsers (4)
- Windows APIs (2)
- opensource (1)
- pm (1)
- GDI (1)
- database (14)
- MFC (1)
- web&fronts (17)
- Tomcat (4)
- OLE (1)
- 观后感 (1)
- Production (2)
- UML (3)
- Javascript (7)
- Cloud Computing&SAAS (5)
- SoftwareEngineering (1)
- Computer&Maintenance (1)
- Web (8)
- Desgin (1)
- J2ee (10)
- mysql cluster (0)
- LB&HA (2)
- webserver (11)
- php (5)
- cas&authtication (0)
- Languages (1)
- IDEs (3)
- architecture (2)
- iOS (8)
- spring (3)
- webservices (1)
- security (1)
- MVCFrameworks (2)
- bservices (0)
- build-tools (2)
- unittest (1)
- spring-security (0)
- sphinx (2)
- hibernate (1)
- mybatis (2)
- search (0)
- nginx (2)
- design&production (2)
- DFS (0)
- algorithm (0)
- distributed&network (0)
- blogs (0)
- os&admin (0)
- fastcgi (0)
- kv-db (0)
- operation&maintenance (1)
- productions (9)
- 养生 (1)
- appserver (1)
- HTTP (2)
- test (1)
- erlang (2)
- browser (0)
- 非技术 (2)
- mobiles (2)
- cloud computing (2)
- Business (2)
- maven (1)
- python (5)
- 人生 (0)
- Cryptography (3)
- CV (0)
- cms (2)
- jqm (2)
- html (2)
- flex (1)
- redmine (1)
- iptables (1)
- groovy (1)
- scala (1)
- grails (1)
- ftp (3)
- vsftpd (2)
- lua (0)
- chroot (3)
- jailkit (3)
- UED (0)
- myeclipse (2)
- ide (2)
- eclipse (2)
最新评论
-
Nick712:
http://blog.csdn.net/victory08/ ...
处理SVN出现:Cleanup failed to process the following paths: xxx -
xs6262460:
Spring AOP根据JdbcTemplate方法名动态设置数据源 -
xhpscdx:
我的解决办法是把D:\ACRS\Projects\TAIS 下 ...
处理SVN出现:Cleanup failed to process the following paths: xxx -
hnraysir:
总结得相当不错,支持下。
使用CodeIgniter 创建 RESTful 服务 REST API【原创译文】 -
云上太阳:
这个必须评论下,间接的救过俺的命啊
解决tomcat启动报错,加强错误日志的显示:
随着数据量的增大,在数据库的扩展上通常遇到切分时保证键值的唯一性问题,遇到这种情况,通常有如下几种相对简单的解决方案:
1 UUID 这种方案的优点是实现和管理简单,缺点是占用空间大,查询效率低下。
2 Sequence Number 优点是实现和管理简单,确定是有性能瓶颈和单点问题。
3 不同的集群采用的起始点或者增长间隔不同 这种方案实现简单,但是后期管理麻烦。
除了上述解决方案之外其实还有很多简单可行的办法,但是通用性不太好,在各种解决方案的接触上,本人总结出一个实现和性能上都很好的解决方案,那就是采用时间戳加毫秒数再加随机数来解决,存储字段采用bigint。
下面给出php代码实现:
function ivan_fetch_unique_bigint_id()
{
$start_timestamp = 1238119411;
$ivan_len = 3;
$time = explode( ‘ ‘, microtime());
$id = ($time[1] – $start_timestamp) . sprintf(‘%06u’, substr($time[0], 2, 6));
if ($ivan_len > 0) {
$id .= substr(sprintf(‘%010u’, mt_rand()), 0, $ivan_len);
}
return $id;
}
{
$start_timestamp = 1238119411;
$ivan_len = 3;
$time = explode( ‘ ‘, microtime());
$id = ($time[1] – $start_timestamp) . sprintf(‘%06u’, substr($time[0], 2, 6));
if ($ivan_len > 0) {
$id .= substr(sprintf(‘%010u’, mt_rand()), 0, $ivan_len);
}
return $id;
}
取模测试均分性很好。
发表评论
-
Hash索引与B-Tree索引 介绍及区别 这是从《MySQL性能调优与架构设计》第六章摘录的一些知识点
2013-10-16 20:58 1037【MySQL索引】Hash索引与B-Tree索引 介绍及区别 ... -
mysql拷贝表的几种方式
2013-06-07 23:32 994mysql拷贝表的几种方式 在使用mysql数据库的 ... -
Understanding JDBC Internals & Timeout Configuration posted 11 months ago in Dev
2013-02-03 18:33 1272Understanding JDBC Internals & ... -
深入理解JDBC的超时设置
2013-02-03 18:25 1022深入理解JDBC的超时设置 -
MYSQL增量备份
2012-11-19 23:43 0MYSQL增量备份 MYSQL增量备份 ... -
mysql 5.5 多实例安装小计
2012-10-31 00:42 0mysql更动端口 www.MyExcepti ... -
mysql性能优化-慢查询分析、优化索引和配置
2012-10-23 15:33 0mysql性能优化-慢查询分析、优化索引和配置 ... -
mysql innodb 性能优化
2012-10-23 12:45 0mysql innodb 性能优化 ... -
MySQL和PostgreSQL的比较
2012-10-21 00:02 1023MySQL和PostgreSQL的比较 ... -
开源数据库 Sharding 技术 (Share Nothing)
2012-10-09 11:43 804开源数据库 Sharding 技术 (Share N ... -
为powerdesigner添加mysql的字符集支持
2012-09-18 09:49 911一般建模可能都会用到:po ... -
Java,JDBC和MySQL类型--MySql数据库 博客分类: 基础 MySQLJavaJDBCSQLJ# MySQL Connector/J在处理My
2012-09-17 00:09 1155Java,JDBC和MySQL类型--MySql数 ... -
PowerDesigner 实用技巧
2012-09-06 15:48 0、PowerDesigner使用MySQL的 ... -
PowerDesigner一些小技巧
2012-09-06 15:42 0PowerDesigner一些小技巧 使用 ... -
使用POWERDESIGNER设计数据库的20条技巧
2012-09-06 15:09 1144使用POWERDESIGNER设计 ... -
MySQL 表名/列名 大小写问题
2012-09-05 11:54 1070MySQL 表名/列名 大小写问题 ... -
Using an Example of Sharding with Hibernate
2012-09-05 01:06 0Using an Example of Sh ... -
也谈数据库拆分database sharding
2012-09-05 01:03 0也谈数据库拆分data ... -
轻量级分布式数据库访问层amoeba,cobarClient试用感受
2012-09-05 00:58 3591轻量级分布式数据 ... -
MySQL无效数据的约束
2012-08-20 16:34 977在MySQL 5.0.2之前,MySQL对非法或不当值并 ...
相关推荐
- **分布式主键**:在分片环境中保证全局唯一性的关键。 - **强制分片路由**:确保特定类型的查询能够准确地定位到正确的数据片段。 - **内核剖析** - **SQL 解析**:将 SQL 语句分解为易于处理的结构。 ...
1. **数据一致性**:分库分表后,事务处理变得复杂,需要考虑分布式事务的实现,如两阶段提交、补偿事务等。 2. **跨库查询**:分库后,部分原先的单表查询变为跨库查询,需要设计中间件(如MyCat、ShardingSphere)...
- **分布式主键**:提供全局唯一ID生成器,保证跨库分表后数据的唯一性。 3. **实现原理** - **SQL拦截与改写**:利用 MyBatis 的插件机制,拦截 SQL 执行过程,根据分片规则修改 SQL,使其指向正确的数据库和表...
**分布式主键** 在分布式环境中至关重要,需要保证全局唯一性。Sharding-JDBC 提供了去中心化的主键生成方案,如使用 snowflake 算法,生成的主键基本有序,有利于数据库性能。 **主要流程** 包括 SQL 解析、SQL ...
在分库分表后,如何生成全局唯一的主键成为了一个问题。ShardingSphere 提供了分布式主键生成策略,可以确保在各个分片之间生成不重复的主键,确保数据的一致性。 4. **事务支持** 面对分库分表后的事务处理,...
3. **全局唯一标识符(Global Unique Identifier, GUID)**:在Oracle Sharding中,全局唯一标识符用于确保每个分片中的数据都有唯一的主键,即使这些数据在不同的分片之间有相同的分片键值。 4. **分片配置器...
ShardingSphere 是一个分布式数据库解决方案,提供分片、读写分离、数据库事务一致性等能力。 首先,我们要理解分库分表的基本概念。垂直分片是指根据业务功能将数据库中的表进行拆分,把相关的表放在同一个数据库...
在MyCat中,主键自增字段的管理是一个关键特性,特别是在需要保证全局唯一性的场景下。 要开启主键自增功能,我们需要进行以下步骤: 1. 修改`server.xml`配置文件: 在`server.xml`中,找到`sequnceHandlerType`...
- 分布式主键的选择要考虑全局唯一性和性能需求,例如UUID或自增ID。 - 事务隔离级别有读未提交、读已提交、可重复读和串行化,MySQL默认是可重复读。 - 幻读、脏读和不可重复读是事务一致性问题,与隔离级别有关...
**MySQL 运维面试题详解** ...20. **复杂项目案例**:涉及复杂的数据库架构可能包括分库分表、读写分离、分布式事务处理等;优化项目可能包括索引优化、SQL查询重构、存储引擎选择等,目标是提高系统性能和稳定性。
- **分库(Sharding):** 将数据分散到不同的数据库实例上,减轻单个数据库的压力。 - **分表(Partitioning):** 将一个大表拆分成多个小表,以提高查询性能。 - **选择策略:** 常见的分片策略包括哈希分片、...
9. **全局唯一数字序列**:提供了自动生成全局唯一数字序列的功能,支持主键自增(auto_increment)等应用场景。 10. **并发型只读实例**:通过物理资源和链路隔离的方式,处理高并发查询,保障在线业务链路的稳定性...
通常,自动递增整数或GUID(全局唯一标识符)作为主键是较为常见的做法。 ### 7. 理解并应用ER图的标准化 标准化ER图是确保数据库设计准确反映业务需求的关键步骤。它涉及到对ER图进行细致审查和调整,以确保所有...
确保全局唯一性可以采用类似Twitter Snowflake的算法。 5. **索引设计** - 索引加速查询速度,尤其是配合内存使用。不同类型的索引(唯一索引、联合索引)满足不同需求。 - 联合索引支持前缀查询,提高查询效率。...
MySQL集群,也称为MySQL Cluster,是一种分布式数据库系统,它通过数据分片(sharding)、冗余和自动故障转移来提供高可用性和可扩展性。 首先,MySQL集群的核心组件包括管理节点(NDG - Node Group)、数据节点...