Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Catalog · How the catalog works

Random project

ZDB2.0

ZDB2.0将是未来大数据支持的内核,ZDB2.0有自己的独立支持体系,跨平台特性,不依赖操作系统

View on GitHub

Anyone may press Interesting, signed in or not. It helps others find this project.

Member rating

No ratings yet.

Sign in to rate this project.

README

ZDB2.0 是按TB级体量设计的数据内核算法

未来我所有项目都将采用ZDB2.0来存储数据

动态空间支持

  • ZDB2.0 采用动态空间表,也可以说多空间分配表,摆脱了死板的固定空间管理
  • ZDB2.0 的初始空间可以是1kb,然后使用动态空间支持技术,轻松扩容到1TB,而后面,当我们把1TB使用完以后,再次扩容到2TB,依次类推
  • ZDB2.0 的动态空间支持技术,不会重新建库,只会在数据空间中追加新空间
  • ZDB2.0 可以部署于多平台,可支持AIOT/IOS/手机/平板/Linux/Windows

高速碎片空间管理

  • 在存储空间中增删查改,会产生碎片,ZDB2.0使用碎片探头技术实现了存储空间再回收
  • ZDB2.0的高速配存储能力可以将pci4.0的nvme拉满,达到2-4GB/s的读写速率

ZDB2.0外围技术支持:大文件打包编码支持子系统

  • 这个子系统不是文件系统,就是压缩解压缩大文件,不是大批量小文件,是大文件
  • 采用IO线程队列技术,实现了充分利用CPU给文件压缩和解压缩提速,提速过程将会拉满CPU,高效发挥HPC硬件潜力
  • 提供File Encoder/Decoder两套工具,并开放源码
  • 极小内存开销,支持TB级的大文件打包编码解码
  • 整个文件编码解码体系都使用非线性流程,既多线程并发,尽最大可能让IO保持流畅吞吐效率

ZDB2.0外围技术支持:数据库支持子系统

  • 磁盘IO可以在拉满工作
  • 线程安全,可在多线程中增删查改操作
  • 数据支持系统的设计思路就是让HPC最大发挥潜力,所有的IO操作都放在一个独立线程中,外面的增删查改都是往IO线程扔命令过去
  • 支持滚动写入,例如我们预定的分配空间是500G,空间写满以后,会自动滚回去写入
  • 支持自动化扩容,例如我们预定的分配空间是500G,空间写满以后,会自动化进行扩容动作

ZDB2.0支持数据安全

ZDB2.0数据存储安全/性能问题妥妥解决

内核级支持了5大美国国家标准技术研究所(NIST)高级加密标准算法

问题说明

  • ZDB2.0大规模使用了并行化,IO队列,大内存管理等等技术
  • ZDB2.0只是一个存储空间内核,网络存储,文件系统,这些都是在它基础上推出来的东西
  • 如果我们需要具体的功能,自己动手去实现它即可
  • ZDB2.0每个支持内核的子库均有完成的测试api,长期支持和维护的项目,不是写完不管
  • ZDB2.0的加解密模型与ZServer4D是有差异的,主要在于性能问题上,ZS采用一次性秘钥,ZDB2绕过了秘钥反复生成,ZDB2加解密的性能模型优于ZS,支持流畅IO吞吐
  • 关于FreePascal的说明,ZDB2.0的Demo都用delphi编写,内核库及算法,均可支持FPC编译器
  • 兼容IA32/AMD64/ARM32/ARM64一致性加解密,可以在x64下打包,在arm平台下解包,依次类推

by.qq600585

2021-3-20