`

Berkeley DB(五) -- 补充

    博客分类:
  • DB
阅读更多
Berkeley DB -- 补充一些东西


前面漏掉的一些东东。

腐烂数据的处理或者说数据库文件的瘦身:
当你从Btree或Hash数据库删除key/data对时,它并不把这个返回给文件系统,这使得数据重用成为可能。也就是说Btree和Hash数据库都是只增的。当你删除大量key/data对时,你可能想使数据库文件也缩减,你应该建立一个新的数据库文件,把记录从旧文件复制过去。应该是导入导出记录,而不是直接copy文件。


字节序的问题:

例如:数字254~257。在一个小数在前(little-endian)的系统上是:
254 fe 0 0 0
255 ff 0 0 0
256 0 1 0 0
257 1 1 0 0
如果你把他们当成字符串处理那么他们的排序是糟糕的:
256
257
254
255
在一个大数在前(big-endian)系统上是:
254 0 0 0 fe
255 0 0 0 ff
256 0 0 1 0
257 0 0 1 1
and so, if you treat them as strings they sort nicely. Which means, if you use steadily increasing integers as keys on a big-endian system Berkeley DB behaves well and you get compact trees, but on a little-endian system Berkeley DB produces much less compact trees. To avoid this problem, you may want to convert the keys to flat text or big-endian representations, or provide your own Btree comparison function.
分享到:
评论

相关推荐

    Berkeley_DB_参考手册

    - **扩展内容**:补充说明 Berkeley DB 的其他方面,如安全性、性能优化等。 #### 25. Berkeley DB 开源嵌入式数据库测评报告 - **25.1 测评内容**:详细介绍测评过程中涉及的各项指标和结果分析。 以上内容涵盖了...

    Berkeley DB Manipulation Tool-开源

    伯克利数据库(Berkeley DB,简称BDB)是由Oracle公司开发的一款轻量级、高性能、嵌入式数据库系统,广泛应用于需要快速数据存储和检索的场景,如配置管理系统、日志记录、缓存服务等。它支持多种编程语言,包括C、...

    nss_db:伯克利DB NSS模块-开源

    这提供了一个替代位置来存储名称服务交换库使用的配置信息,并且可以用于补充Berkeley DB中的用户,组和其他信息。 Berkeley DB NSS模块提供了一种替代方法,用于存储传统上保存在/ etc(例如/ etc / passwd)的多...

    Ice-1.3.0-中文文档.pdf

    - Ice使用了BerkeleyDB、bzip2/libbzip2、OpenSSL、SSLeay、Expat等第三方产品。 - 文档提到的第三方产品的授权协议可以在Ice源码包中找到。 4. 内容组织结构: - 文档由几部分组成,包括引言、Ice综述、Ice核心...

    cpp-TiKV分布式事务键值数据库最初创建用于补充TiDB

    TiKV的设计灵感来源于Google的BigTable和Spanner,以及Berkeley DB的B+树结构。它采用了Raft一致性算法来保证分布式环境中的数据一致性,同时也利用了 rocksdb 作为其底层的KV存储引擎,提供了高效的读写性能。Rocks...

    apr-1.5.2.tar.gz,apr-util-1.5.2.tar.gz

    这个库包括了数据库接口(如 Berkeley DB、MySQL、PostgreSQL)、加密库支持(如 MD5 和 SHA-1)、XML 解析器接口(如 libexpat)以及 URL 处理等功能。apr-util 通常与 APR 一起使用,以提供更全面的服务。 Tomcat...

    hadoop中文文档

    - 功能:使用Berkeley DB作为后端存储Cookie。 - 作用:提供大容量的Cookie存储空间。 6. **默认服务器缓存(Default Server Cache)**: - 功能:缓存服务器信息。 - 作用:减少重复请求,提高效率。 7. **...

    NoSQL数据库详细介绍入门经典

    - **BerkeleyDB**:一款嵌入式的数据库引擎。 - **MemcacheDB**:一个基于内存的键值存储系统。 - **Mnesia**:Erlang平台上的分布式数据库管理系统。 - **LightCloud**:基于MongoDB的云托管服务。 - **...

    ice3.1.1

    3. **依赖管理和开源生态**:Ice依赖于多个知名的开源项目,如Berkeley DB用于数据管理、bzip2用于压缩算法、OpenSSL Toolkit和SSLeay用于安全通信、Expat用于XML解析,以及STLport用于标准模板库的支持。...

    单品页总结

    文档中列举了几种可能的数据存储方案,包括MySQL、SSDB、BeansDB、SSDB(RocksDB)、JIMDB(LMDB)以及BerkeleyDB等。每种存储方案都有其适用场景和技术特点: - **MySQL**:适用于需要ACID特性的事务处理场景,拥有...

    Redis心得笔记.docx

    * 键值(Key-Value)存储数据库:相关产品有 Tokyo Cabinet/Tyrant、Redis、Voldemort、Berkeley DB。典型应用:内容缓存,主要用于处理大量数据的高访问负载。数据模型:一系列键值对。优势:快速查询;劣势:存储的...

    ICE入门文档

    ICE的实现依赖于一些第三方库,如Berkeley DB用于存储和管理数据,bzip2和libbzip2用于数据压缩,OpenSSL Toolkit和SSLeay提供了安全套接层支持,Expat则用于XML解析。这些库的许可信息可以在ICE的源码包中找到。 ...

Global site tag (gtag.js) - Google Analytics