安下载(俺下载):打造放心的绿色安全下载站! 安下载首页|软件分类|最近更新

所在位置: 首页  >  电脑软件  >  编程开发  >  数据库类 > RocksDB(可嵌入数据库) v6.16.4 官方版
RocksDB(可嵌入数据库)

RocksDB(可嵌入数据库)

 v6.16.4 官方版
  • 软件大小:7.34 MB
  • 更新日期:2021-04-02 08:51
  • 软件语言:英文
  • 软件类别:数据库类
  • 软件授权:免费版
  • 软件官网:
  • 适用平台:WinXP, Win7, Win8, Win10, WinAll
  • 软件厂商:

6
软件评分

本地下载文件大小:7.34 MB

软件介绍 人气软件 下载地址

为您推荐: 编程开发

  RocksDB是可以帮助用户设计具有键值存储服务功能模块的一个引擎库,适合大部分快速储存服务使用,例如你需要构建数据存储到硬件设备的功能模块就可以添加这个库,将其嵌入到你的运用系统,当需要发送数据到闪存卡的时候就自动调用RocksDB相关的功能执行数据储存,软件可用于多种快速储存设备,例如内存、硬盘等设备的快速储存都可以通过这款软件配置相关的持久键值存储方案,支持多线程压缩数据,提升数据读写效率,特别适合在单个数据库中存储多个TB的数据,如果你需要这款软件就下载吧!

RocksDB(可嵌入数据库)

软件功能

  RocksDB是具有键/值接口的存储引擎,其中键和值是任意字节流。这是一个C ++库。它是根据LevelDB在Facebook上开发的,并为LevelDB API提供了向后兼容的支持。

  RocksDB支持各种存储硬件,其中以快速刷新为首要重点。它使用日志结构化数据库引擎进行存储,完全用C ++编写,并具有一个称为RocksJava的Java包装器。

  RocksDB可以适应各种生产环境,包括纯内存,闪存,硬盘或远程存储。在RocksDB无法自动适应的情况下,提供了高度灵活的配置设置,以允许用户对其进行调整。它支持各种压缩算法以及用于生产支持和调试的良好工具。

  高性能

  RocksDB使用完全用C ++编写的日志结构化数据库引擎,以实现最佳性能。键和值只是任意大小的字节流。

RocksDB(可嵌入数据库)

  针对快速存储进行了优化

  RocksDB针对快速,低延迟的存储(例如闪存驱动器和高速磁盘驱动器)进行了优化。RocksDB充分利用了闪存或RAM提供的高读写速率的全部潜力。

RocksDB(可嵌入数据库)

  适应性强

  RocksDB可适应不同的工作负载。从MyRocks等数据库存储引擎到应用程序数据缓存到嵌入式工作负载,RocksDB可以用于各种数据需求。

RocksDB(可嵌入数据库)

  基本和高级数据库操作

  RocksDB提供了一些基本操作,例如打开和关闭数据库,读写更高级的操作(例如合并和压缩过滤器)。

RocksDB(可嵌入数据库)

软件特色

  专为希望在本地或远程存储系统上存储多达几TB数据的应用服务器而设计。

  为在快速存储中存储中小型键值而优化-闪存设备或内存中

  它在具有多个内核的处理器上运行良好

官方教程

  入门概述

  RocksDB库提供了一个持久键值存储。键和值是任意字节数组。根据用户指定的比较器功能,在键值存储中对键进行排序。

  该库由Facebook数据库工程团队维护,并基于LevelDB,由Google的Sanjay Ghemawat和Jeff Dean进行。

  打开数据库

  rockdb数据库的名称与文件系统目录相对应。数据库的所有内容都存储在此目录中。以下示例显示了如何打开数据库,并在必要时创建它:

RocksDB(可嵌入数据库)

  如果要在数据库已存在的情况下引发错误,请在rocksdb :: DB :: Open调用之前添加以下行:

RocksDB(可嵌入数据库)

  地位

  您可能已经注意到rocksdb::Status上面的类型。RocksDB中的大多数函数都可能返回此类型的值,而这些函数可能会遇到错误。您可以检查这样的结果是否还可以,还可以打印相关的错误消息:

RocksDB(可嵌入数据库)

  关闭数据库

  完成数据库操作后,只需删除数据库对象。例如:

RocksDB(可嵌入数据库)

  读写

  数据库提供了Put,Delete和Get方法来修改/查询数据库。例如,以下代码将存储在下的值移动key1到key2。

RocksDB(可嵌入数据库)

  RocksDB中的内存使用情况

  在这里,我们尝试解释RocksDB如何使用内存。RocksDB中有几个有助于内存使用的组件:

  1、块缓存

  2、索引和布隆过滤器

  3、内存表

  4、迭代器固定的块

  我们将依次描述它们。

  对于一些正在进行的项目,可以提高内存效率。

  块缓存

  块缓存是RocksDB缓存未压缩数据块的地方。您可以通过设置BlockBasedTableOptions的block_cache属性来配置块缓存的大小:

RocksDB(可嵌入数据库)

  如果在块缓存中找不到该数据块,则RocksDB使用缓冲的IO从文件中读取数据块。这意味着它还使用操作系统的页面缓存来存储通常包含压缩数据的原始文件块。在某种程度上,RocksDB的缓存分为两层:块缓存和页面缓存。与直觉相反,减小块高速缓存大小不会增加IO。保存的内存可能会用于页面缓存,因此将缓存更多数据。但是,CPU使用率可能会增加,因为RocksDB需要解压缩从页面缓存读取的页面。

  要了解正在使用多少内存块缓存,可以在块缓存对象上调用函数GetUsage()或在数据库对象上调用getProperty():

RocksDB(可嵌入数据库)

  索引和过滤器块

  索引和过滤器块可能是大内存用户,默认情况下,它们不计入您分配给块缓存的内存中。有时这可能会给用户造成混乱:您为块缓存分配了10GB,但是RocksDB使用的是15GB的内存。通常通过索引和Bloom过滤器块来解释差异。

  我们不断使索引和过滤器变得更紧凑。要利用最新的改进,请通过来使用最新的格式版本BlockBasedTableOptions.format_version。需要明确启用其他一些较新的功能:

  设置BlockBasedTableOptions.optimize_filters_for_memory更多jemalloc友好的Bloom过滤器大小。

  还考虑使用新的色带滤光片

  内存表

  您可以将内存表视为内存中的写入缓冲区。每个新的键值对都首先写入内存表。内存大小由选项控制write_buffer_size。除非使用许多列系列和/或数据库实例,否则通常不是很大的内存消耗者。但是,存储器大小反而会影响写放大:存储器的更多内存产生更少的写放大。如果您增加了内存大小,请确保也增加L1大小!L1的大小由选件控制max_bytes_for_level_base。

  要获得当前的内存大小,可以使用:

RocksDB(可嵌入数据库)

  迭代器固定的块

  迭代器固定的块通常不会对整体内存使用产生太大影响。但是,在某些情况下,当您同时进行10万次读取事务时,可能会给内存造成压力。固定块的内存使用情况很容易计算。每个迭代器为每个L0文件精确固定一个数据块,为每个L1 +级别精确固定一个数据块。因此,固定块的总内存使用量约为num_iterators * block_size * ((num_levels-1) + num_l0_files)。要获取有关此内存使用情况的统计信息,请在块缓存对象上调用GetPinnedUsage()或在db对象上调用getProperty():

RocksDB(可嵌入数据库)

人气软件