数据有量

π.Science 2021-06-21 52 次浏览 次点赞

不论是用一张 Excel 表格还是一个 Access 数据库,都装不下中国人的身份证号码记录,那得有 14 亿行。甚至,伯克希尔·哈撒韦的股票或者 YouTube 视频"江南Style"的观看次数,都受到“量”的限制。本文说说这个有趣的事。

big-data11.jpg

在 Excel 2003 中,一个工作薄最多有 255 个工作表,一个工作表有 65536 行、256 列、16,777,216个单元格。Excel 2007 以上的版本理论上可以有无限个工作表,其建立的工作表数量受电脑内存的影响。一个工作表有 1048576 行、16384 列、17,179,869,184 个单元格。

Access 数据库(.accdb 或 .mdb)的总大小,包括所有数据库对象和数据最大 2 GB,减去系统对象所需的空间,大约是2百万条记录。另外,Access理论上最多支持 255 个并发用户。通常,当单表记录达到10万条、数据库大小超过100M、在线人数经常超过100人任意条件时,应该换用其他关系型数据库。

SQL Server 2016 及更高版本的数据库大小可达 524,272 TB,每个数据库的表数受数据库中对象总数限制, 数据库中所有对象的数量总和不能超过 2,147,483,647[(2^31)-1]。行的数量受可用存储空间限制。

MySQL 数据库最大65,536TB,单表空间最大64T,每个数据库的表数受数据库中对象总数限制, 数据库中所有对象的数量总和不能超过 2,147,483,647。行的数量受底层文件系统和可用存储空间限制。

数据库对象包括表、视图、存储过程、用户定义函数、触发器、规则、默认值和约束,因此一个数据库中不可能有(2^31)-1个表。而一个表中,默认自增 id 字段为 int 类型的时候,最多至 2,147,483,647,如修改自增 id 字段为 bigint 类型,则可达到9,223,372,036,854,775,807[(2^63)-1]。

对于OLTP的表,建议单表不要超过2000万行数据、总大小15G以内。

纳斯达克和其他一些市场运营商此前可以处理的最大数字4,294,967,295,而股票价格经常使用小数点后四位存储,因此最高价格为429,496.7295美元。由于伯克希尔哈撒韦(Berkshire Hathaway)A类股(BRK.A)股票价格高过这一限制,纳斯达克交易所从当地时间5月4日开始暂停播报这一价格。

2,147,483,647[(2^31)-1] 是第8个梅森素数,也是4个已知的双重梅森素数的其中一个。在 32 位 Windows 和其它系统中,它是最大的十进制数。

YouTube上曾在Google+开玩笑表示:我们从未想过一个视频的观看次数会超过32位整数(=2,147,483,647次观看),但那是在我们遇到PSY之前。"江南Style"的观看次数如此之多,我们不得不升级为64位整数(9,223,372,036,854,775,808)[(2^63)]!

4,294,967,295的数值是(2^32)-1,表示为二进制则为11111111111111111111111111111111(32个1),在运行32位和64位系统的计算机中是无符号长整形数所能表示的最大值,亦是运行32位系统的计算机中所能表示的最大自然数。

在数据统计和分析之前,首先要解决数据存储“量”的问题。


本文由 PeakOneTemple 整理创作,参考 知识共享署名 3.0 协议,撰写及摘编内容仅反映个人观点和立场,如果任何可能的雇主与赞助者持有相同的意见,只是巧合;基于互联网链接的腐烂率,无法实时验证外部链接的真实有效性,不对可能的链接无效(linkrot)或者内容转移(Content Drift)负责。
感谢您的支持,我会持续给您山巅.一寺.一壶酒的独特视角!

还不快抢沙发

添加新评论