文章提交注意事项:
请在发布文章时用HTML代码加上至少一条新闻来源的链接;原创性消息,可加入相关信息(如涉及公司的网址)的链接。有任何问题,邮件至:he.fang#zhiding.cn
注意:收到邮件乱码的用户请修改客户端的默认字体编码,从"简体中文(GB2312)"修改为"Unicode(UTF-8)"。
solidot新版网站常见问题,请点击这里查看。
Solidot 公告
投 票
热门评论
- (1 points, 一般) by 18611782246 在 2024年12月18日18时06分 星期三 评论到 司机死于阿尔茨海默病的可能性较低
- BaD kEyBoArD: eXtRa SpAcE (1 points, 一般) by lot 在 2024年12月11日04时10分 星期三 评论到 高温环境可能加速衰老
- BaD kEyBoArD: tYpO (1 points, 一般) by lot 在 2024年12月11日04时09分 星期三 评论到 Goolge 宣布了新量子芯片 Willow
- 喵喵喵 (1 points, 一般) by solidot1733326472 在 2024年12月04日23时35分 星期三 评论到 澳大利亚面临太阳能供大于求
- 懂了 这就去安装刺客信条 (1 points, 一般) by Craynic 在 2024年11月27日19时36分 星期三 评论到 微软临时阻止安装刺客信条等育碧游戏的 PC 更新 Windows 11 24H2
- 为了逃避一年多兵役要坐一年牢 (1 points, 一般) by Craynic 在 2024年11月27日19时34分 星期三 评论到 韩国法院判处一名故意增肥以逃避兵役的男子缓刑
- 是否改进质量我不知道 (1 points, 一般) by Craynic 在 2024年11月25日20时43分 星期一 评论到 GitHub 称 Copilot 改进了代码质量
- Linus (1 points, 一般) by Craynic 在 2024年11月25日20时41分 星期一 评论到 Linux 6.13 将拒绝所有来自 bcachefs 作者的合并请求
- 2100年100% (1 points, 一般) by 18611782246 在 2024年11月21日16时30分 星期四 评论到 中国提高了半导体自给率
- 错别字 (1 points, 一般) by 陈少举 在 2024年11月02日23时42分 星期六 评论到 Linus Torvalds 用电动汽车取代了燃油汽车
数据库管理系统 PostgreSQL 发布了 v15 版本。新版本进一步改进了性能,主要新特性包括:支持 SQL MERGE 命令;改进内存中和磁盘上的排序性能;Zstandard(zstd)压缩支持,支持 pg_basebackup 期间执行服务器端压缩;等等。
包括 MIT 计算机科学博士生 William Kuszmaul 在内的三名研究人员的发现可以提高计算机数据存储和检索的效率。这项发现与“线性探测哈希表(linear-probing hash tables)”有关,于 1954 年引入,是当今可用的最古老、最简单和最快的数据结构之一。数据结构提供了在计算机中组织和存储数据的方法,哈希表是最常用的方法之一。在线性探测哈希表中,可存储信息的位置位于一个线性数组中。
Kuszmaul 表示,假设一个数据库旨在存储 10,000 个人的社会保障号码。“我们获取你的社会保障号码x,然后我们将计算x的哈希函数 h(x),它会为你提供一个 1 到10,000之间的随机数。”下一步是将随机数h(x)移到数组中的相应位置,然后将社会保障号码x放入该位置。
Kuszmaul 表示,如果该位置已被占用,“你只需要向前移动到下一个闲置位置然后将其放入。这就是‘线性探测’一词的由来,因为你一直线性前进,直到找到一个空位。”为了稍后检索社会保障号码x,你只需要前往指定位置 h(x),如果它不在那里,就继续前进,直到你找到 x,或者到达一个闲置位置并得出结论:x不在你的数据库之中。
删除项目(例如社会保障号码)的协议略有不同。如果你在删除信息后,在哈希表中留下一个空位,那么当你之后试图寻找其他内容时就可能造成混淆,因为该空位可能错误地表明你在寻找的项目不在数据库中。为 了避免这个问题,Kuszmaul 解释说,“你可以去元素被删除的地方放上一个叫作‘墓碑(tombstone)’的小标记,表明这里曾有一个元素,但现在已被删除了。”
这个程序已使用了半个多世纪。在此期间,几乎每个使用线性探测哈希表的人都认为,如果你让它们变得太满,那么长长的、被占据的位置就会聚集在一起形成“集群”。结果找到一个空位所花费的时间会急剧增加——事实上是二次方的——时间长到不现实。因此人们接受了以低容量操作哈希表的培训——这种做法会影响企业必须购买并维护的硬件数量,从而造成经济损失。
但是这个由来悠久、一直不利于高负载率的原则已被 Kuszmaul 和他的同事——石溪大学的 Michael Bender 和 Google 的 Bradley Kuszmaul 的工作彻底颠覆。他们发现,对于插入和删除数量大体相等的应用程序——添加的数据量大致等于删除的数据量——线性探测哈希表可以在不牺牲速度的情况下以高存储容量运行。
Kuszmaul 表示,假设一个数据库旨在存储 10,000 个人的社会保障号码。“我们获取你的社会保障号码x,然后我们将计算x的哈希函数 h(x),它会为你提供一个 1 到10,000之间的随机数。”下一步是将随机数h(x)移到数组中的相应位置,然后将社会保障号码x放入该位置。
Kuszmaul 表示,如果该位置已被占用,“你只需要向前移动到下一个闲置位置然后将其放入。这就是‘线性探测’一词的由来,因为你一直线性前进,直到找到一个空位。”为了稍后检索社会保障号码x,你只需要前往指定位置 h(x),如果它不在那里,就继续前进,直到你找到 x,或者到达一个闲置位置并得出结论:x不在你的数据库之中。
删除项目(例如社会保障号码)的协议略有不同。如果你在删除信息后,在哈希表中留下一个空位,那么当你之后试图寻找其他内容时就可能造成混淆,因为该空位可能错误地表明你在寻找的项目不在数据库中。为 了避免这个问题,Kuszmaul 解释说,“你可以去元素被删除的地方放上一个叫作‘墓碑(tombstone)’的小标记,表明这里曾有一个元素,但现在已被删除了。”
这个程序已使用了半个多世纪。在此期间,几乎每个使用线性探测哈希表的人都认为,如果你让它们变得太满,那么长长的、被占据的位置就会聚集在一起形成“集群”。结果找到一个空位所花费的时间会急剧增加——事实上是二次方的——时间长到不现实。因此人们接受了以低容量操作哈希表的培训——这种做法会影响企业必须购买并维护的硬件数量,从而造成经济损失。
但是这个由来悠久、一直不利于高负载率的原则已被 Kuszmaul 和他的同事——石溪大学的 Michael Bender 和 Google 的 Bradley Kuszmaul 的工作彻底颠覆。他们发现,对于插入和删除数量大体相等的应用程序——添加的数据量大致等于删除的数据量——线性探测哈希表可以在不牺牲速度的情况下以高存储容量运行。
PostgreSQL 商标及其知识产权由非盈利组织 PostgreSQL Community Association of Canada (PGCAC)代表 PostgreSQL Core Team 管理。但在 2020 年名叫 Fundación PostgreSQL 的西班牙非盈利组织在欧盟和美国申请注册 PostgreSQL 和 PostgreSQL Community 的商标,并已经在西班牙获得了商标。该组织的代表 Álvaro Hernández Tortosa 声称此举是为了保护 PostgreSQL 商标,但明显违反了 PostgreSQL 的商标政策。然而 Fundación PostgreSQL 明确表示它不会撤回商标申请,不过表示愿意与 PGCAC 进行协商。2021 年 Fundación PostgreSQL 又在欧盟和美国递交了额外的 PostgreSQL 的商标申请,Hernández Tortosa 表示只有满足了他的条件之后才会撤回商标申请,他的条件包括削弱 PGCAC 对商标的控制。PGCAC 和 PostgreSQL Core Team 认为这些要求是不可接受的,表示将会考虑采取所有可能的选项直到对方屈服。Fundación PostgreSQL 则在官网上发表声明声称这是对社区发动的史无前例的攻击。
社交巨人透露它的数据库版本从 MySQL 5.6 迁移到 MySQL 8.0。Facebook 称,上一次大版本升级到 MySQL 5.6 花了一年多时间才完成,当 5.7 发布时它正在开发 LSM-Tree 存储引擎 MyRocks,而这个引擎是基于 5.6,升级到 5.7 的同时开发存储引擎会显著拖慢整个进程,因此 Facebook 决定留在 5.6 等待 MyRocks 完成开发。当它完成 MyRocks 部署时 MySQL 8.0 发布了。此时 5.6 已接近寿命结束,加入 8.0 带来了很多新的功能,它决定升级到 8.0。这个过程比之前的升级更具挑战性。
开发 Elasticsearch 和 Kibana 的公司 Elastic 采用了 MongoDB 设计的许可证 SSPL (Server Side Public License) 限制云服务商将其产品作为软件即服务提供给用户。ElasticSearch 是一个用于企业搜索的数据库管理程序,而 Kibana 则是数据可视化工具。它们都是开源软件,采用 Apache 2.0 许可证。但联合创始人兼 CEO Shay Banon 在最新声明中宣布两个开源软件将切换到双许可证 Server Side Public License (SSPL)和 Elastic License。Elastic 许可证是非商业许可证,如果要将产品作为软件即服务使用则需要获得商业授权。将 Elasticsearch 作为后端使用的项目不受许可证变更的影响。Elastic 此举受到了社区的广泛批评。
用 Go 语言开发的开源时序型数据库 InfluxDB 宣布了未来的开发计划:InfluxDB IOx,用 Rust 语言开发,使用 Apache Arrow 和柱列式数据结构。InfluxDB 项目创始人 Paul Dix 称,Rust 能给予运行时行为和内存管理更细粒度控制,它带来的额外好处是并发编程更容易消除了数据竞争。InfluxDB IOx 目前还处于早期开发阶段,计划明年初发布 alpha 版本。
开源数据库管理系统 PostgreSQL 释出了 v13。PostgreSQL 13 改进了索引和查找系统,节省了索引的空间并提升了性能,大型数据库将能从中受益;更快的查询响应时间,使用扩展统计提供更好的查询规划;并行的索引移除;增量排序;等等。其它方面的改进还有优化管理,增强安全和为开发者提供更多便利。更多可浏览发布公告。
跨国公司在绝大部分国家的分支都运行着相同的软件,但软件的版本不完全相同。在每一个国家它都需要定制功能去满足当地的需要,以及遵守当地的监管要求。维护应用程序的同一个版本和同一种数据模型基本上是不可能的。结果是他们需要多个关系数据库,这增加了维护的复杂性和开销。汇丰数据设计师 Narasimha Reddy 在 MongoDB.Live 上透露,为了简化应用交付该银行正将 65 个关系数据库迁移到一个全球 MongoDB 数据库,它在各国的分支机构不再需要维护一个不同的数据库。这将能减少成本,增加灵活性,更容易进行全球的分析和报告。
2019 年 12 月,MongoDB 引入了一个全新的安全功能:字段级数据库加密。在有了静态存储加密和传输加密之后,为什么还要字段加密?字段级加密的第一批客户包括了 Apervita,该公司为 2000 家医院和 200 万个体病人处理机密数据。Apervita 与 MongoDB 密切合作开发和改进了该技术。在 12 月正式推出之后,该技术被多个政府机构和财富五十强企业使用。数据保密面临的最大风险是人,具有最高访问权限的系统管理员和数据库管理员基本上可以访问系统中的所有数据。静态存储无法解决系统管理员和数据库管理员可能访问机密数据的问题。字段级加密设计旨在解决这个问题。数据在进入数据库前就加密了,从数据库返回后才解密,这就解决了具有最高访问权限的管理员可能泄露数据的问题。字段级加密对数据库性能的影响最高 10%。
多家媒体报道了蚂蚁金服的开源关系数据库 OceanBase v2.2 在行业标准的联机事务处理性能测试 TPC-C 中的成绩击败了甲骨文的数据库。蚂蚁金服的成绩是在 10 月 1 日递交的,得分为 60,880,800,超过了甲骨文的 30,249,688。然而两者其实没有多少可比性,因为甲骨文的得分是在 2010 年 12 月 2 日递交的,使用的硬件架构和软件在近 10 年之后已经没多少对比价值。甲骨文测试的数据库版本是 Oracle Database 11g R2 Enterprise Edition w/RAC w/Partitioning,操作系统是 Oracle Solaris 10,CPU 为 SPARC T3@ 1.65 GHz,共 1728 个核心;而蚂蚁金服使用的操作系统是 Aliyun Linux 2,处理器是 Intel Xeon Platinum 8163 @ 2.50GHz,共 6720 个核心。仅仅从硬件上看,两者之间就很难进行公平的比较。