jieforest 发表于 2015-07-28 12:13

[大话IT]MySQL使用自增ID和UUID的优劣势比较

获奖详情:bbs.chinaunix.net/thread-4190053-1-1.html

话题背景
UUID诞生的目的,是让分布式系统中的所有元素,都能有唯一的辨识资讯,而不需要透过中央控制端来做辨识资讯的指定。如此一来,每个人都可以建立不与其它人冲突的UUID。在这样的情况下,就不需考虑数据库建立时的名称重复问题。
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle旗下公司。MySQL是最流行的关系型数据库管理系统,在WEB应用方面MySQL 是最好的RDBMS之一。MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件采用了双授权政策,分为社区版和商业版。
MySQL数据库中,实现字段的自增长,使用AUTOA_INCREMENT关键字。



讨论话题
1、MySQL单数据库服务器的情况,使用自增ID和UUID各自的优缺点。
2、MySQL服务器小规模集群(5台数据库服务器以内,主-主集群和主-从集群)的情况,能否使用自增ID,如何避免自增ID的主键冲突。
3、MySQL单数据库服务器、MySQL服务器小规模集群的情况下,使用自增ID和UUID各自的性能情况。
4、MySQL中大规模集群,如何能够更好地使用UUID,是否有更好的方法。
话题以上述列表为主,但不限于以上话题,一切围绕自增ID和UUID均可纳入讨论话题。



讨论时间
2015年8月07日--2015年9月07日



活动奖励
活动结束后将选取4名讨论精彩的童鞋,每人赠送一本《MySQL排错指南》技术图书作为奖励。



奖品简介

作者: [美]斯维特·斯米尔诺娃(Sveta Smirnova)   
译者: 李宏哲 杨挺
出版社:人民邮电出版社
出版日期:2015 年8月
开本:16开
页码:216
版次:1-1



内容简介
《MySQL排错指南》由Oracle公司的技术支持工程师编写,详细阐述了MySQL故障诊断及处理中的知识,教会读者如何深入浅出地定位、分析并解决各种MySQL数据库的故障。
《MySQL排错指南》共分为7章,其内容涵盖了解决MySQL问题的基本技巧、MySQL中的并发问题、服务配置的影响、MySQL硬件和运行环境相关的问题、复制备份中的故障排除、故障排除使用的技术和工具,以及一些MySQL故障排除的最佳实践。此外,本书的附录中还包含了可以帮助读者解决MySQL疑难问题的一些有用资源。



试读样章








seesea2517 发表于 2015-07-28 14:30

每人赠送图书《》一本作为奖励


:D










shang2010 发表于 2015-08-07 15:56

我个人更喜欢uuid,分布事唯一性

lyhabc 发表于 2015-08-07 21:43

讨论话题
1、MySQL单数据库服务器的情况,使用自增ID和UUID各自的优缺点。
单库还是自增id好,不过考虑扩容的话,日后扩展的话,尽早考虑是否使用uuid

2、MySQL服务器小规模集群(5台数据库服务器以内,主-主集群和主-从集群)的情况,能否使用自增ID,如何避免自增ID的主键冲突。
uuid吧,主主自增id避免冲突的方法是,主用单数id,从用双数id

3、MySQL单数据库服务器、MySQL服务器小规模集群的情况下,使用自增ID和UUID各自的性能情况。
因为uuid需要算,自增id只是+1操作,性能上自增id会快一点

4、MySQL中大规模集群,如何能够更好地使用UUID,是否有更好的方法。
gtid,uuid不带事务标识




buptdream 发表于 2015-08-08 14:36

站位更新,好书,值得读读

fender0107401 发表于 2015-08-11 08:57

本帖最后由 fender0107401 于 2015-08-11 09:11 编辑

MySQL现在有UUID这个数据类型吗?

digdeep126 发表于 2015-08-11 11:35

mysql 使用UUID,基本就是自找麻烦。
mysql是索引组织表,每一个二级索引,都会存储一分主键。UUID比自增ID存储所需的空间大很多。二级索引越多,那么所需的存储空间也越多。

hmy_362322 发表于 2015-08-11 21:07

对于mysql运用uuid是值得的,这样可以避免主键重复,或者自增id重复,当然可以通过配置文件修改,但是uuid这种一劳永逸的方法付出点性能还是值得的

stay_sun 发表于 2015-08-12 13:47

回复 1# jieforest


    1、MySQL单数据库服务器的情况,使用自增ID和UUID各自的优缺点。
自增id 性能有瓶颈 复制的情况下不设置的话会出现重复
uuid 有几率出现重复
2、MySQL服务器小规模集群(5台数据库服务器以内,主-主集群和主-从集群)的情况,能否使用自增ID,如何避免自增ID的主键冲突。
复制的时候配置参数 可以完成保证重复的问题
3、MySQL单数据库服务器、MySQL服务器小规模集群的情况下,使用自增ID和UUID各自的性能情况。
使用自增 比较方便   毕竟还是可控的   你使用uuid出了重复的很郁闷啊   不好差啊
4、MySQL中大规模集群,如何能够更好地使用UUID,是否有更好的方法。
个人认为   uuid 不现实   这个东西几亿分之一 会重复 谁知道 你写了俩条就重复了啊   

shang2010 发表于 2015-08-13 18:32

utf8当初出来的时候,也是因为性能被各种喷



mysql要玩自增id,单机自己玩去吧。话说互联网公司未来都会uuid,趋势
页: [1] 2 3 4
查看完整版本: [大话IT]MySQL使用自增ID和UUID的优劣势比较