从FusionIO的NVM压缩接口谈起

从FusionIO的NVM压缩接口谈起厂商的宣传总喜欢搞得很吸引人 Fusion io 宣称可以翻倍 MySQL 的容量 http www zdnet com fusion io claims to double mysql capacity Google 一下会出现很多类似的内容 可惜宣传稿只是说可以这样 可以那样 显得很是高大 要想知道得更细一点 还得从基础学起 先看看 https github com o

厂商的宣传总喜欢搞得很吸引人:Fusion-io宣称可以翻倍MySQL的容量,http://www.zdnet.com/fusion-io-claims-to-double-mysql-capacity-/。Google一下会出现很多类似的内容。可惜宣传稿只是说可以这样、可以那样,显得很是高大。要想知道得更细一点,还得从基础学起。先看看:https://github.com/opennvm/nvm-primitives/。

原来F公司搞得Atomic Write还提交到了T10了。这个README写得还是比较清楚的,例如:

The NVM Primitives library, as described in the API specification, is a lightweight user space library that provides basic operations such as simple atomic writes, vectored atomic writes, and mixed vectors of atomic writes and trims. The library leverages highly-optimized primitives such as sparse addressing, atomic-writes, Persistent TRIM, etc., provided by the underlying Flash Translation Layer (FTL). The strong consistency guarantees of these Primitives allow calls within this library to achieve high performance combined with ACID compliance. The majority of the APIs in this library offer simple, powerful interfaces to prevent torn/incomplete writes without complex journaling or double-buffering approaches. Additional APIs include the ability to query device capabilities, physical capacity, and capacity used, as well as a few other miscellaneous interfaces.

其中也给出了API文档和示例代码的链接。

T10的这个文档http://www.t10.org/cgi-bin/ac.pl比较有意思,引经据典了一番,特别提到了:

The 2004 Okun paper defined a new atomic write operation that provides these semantics:

“A storage device that supports Atomic Write (AW) guarantees that either all the blocks in a write
operation are written or no blocks are written at all.”
The 2011 Ouyang paper implemented an atomic write primitive with a NAND-flash based storage device for aMySQL database (see http://www.mysql.com) with the InnoDB transactional storage engine (seehttp://www.innodb.com), measuring:
a)  43% reduction in data written to storage;
b)  20% reduction in transaction latency; and
c)  33% throughout improvement  

相信上面的这几个数字很多人以前都看到过。从系统的角度看,Fusion-io做的事情是把文件系统等得功能往下层挪了挪,能够更好更快捷的发挥闪存的优势,而不是依靠各层系统软件的慢慢进步。这个SCSI文档值得阅读。



版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/230165.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月16日 下午2:59
下一篇 2026年3月16日 下午2:59


相关推荐

  • Openclaw实战

    Openclaw实战

    2026年3月13日
    2
  • 用户量多后登录时查询速度慢怎么办?

    用户量多后登录时查询速度慢怎么办?对数据库操作 创建唯一索引前 查询用户表索引 SHOWINDEXFRO 测试查询用户表 看查询是否走索引 EXPLAINSELEC FROMhd userWHEREuse handsome 未走索引 type 为 all 全表扫描 当数据量多时速度极慢 给用户名字段创建唯一索引 ALTERTABLEAD 再次查询用户表索引 SHOWINDEXFRO 用户名字段唯一索引创建成功测试查询用户表 看查询是否走索引 EXPLAINSELEC

    2026年3月18日
    2
  • influxdb基础

    influxdb基础基本概念与传统数据库名词比较 influxDB 中的名词传统数据库中的概念 database 数据库 neasurement 数据库中的表 points 表里的一行数据 InfluxDB 中独有的一些念概 Point 由时间戳 time 数据 field 标签 tags 组成 Point 属性传统数据库中的概念 time 每个数据记录时间 是数据库中的主索引 会自动生成 field 各种记录值 无索引 tags 各种有索引的属性

    2026年3月19日
    2
  • ssh免密码登录配置方法,(图示加命令)

    ssh免密码登录配置方法,(图示加命令)首先 说明一下我们要做的是 serverA 服务器的 usera 用户免密码登录 serverB 服务器的 userb 用户 我们先使用 usera 登录 serverA 服务器 root serverA su usera usera serverA pwd home usera 然后在 serverA 上生成密钥对 usera serverA s

    2026年3月17日
    1
  • pycharm配置OpenCV_pycharm opencv安装

    pycharm配置OpenCV_pycharm opencv安装PyCharm配置opencv4.5.1一.下载二.安装三.环境配置一.下载首先我们需要拥有PyCharm软件,opencv4.5.1和pip程序包,下载链接如下PyCharm:https://www.jetbrains.com/pycharm/download/#section=windowsopencv4.5.1:https://opencv.org/releases/opencv-python4.5.1:https://pypi.org/project/opencv-python/#file

    2025年8月5日
    5
  • [ubuntu] 查看端口占用[通俗易懂]

    [ubuntu] 查看端口占用[通俗易懂]netstat-ap|grep2200

    2022年7月27日
    9

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号