游客 你可以选择到 登录 注册帐号 忘记密码?
  • 服务热线:
    13999268016
公司未来产品的设计思路及优势
    乌鲁木齐云山云海信息技术有限 公司未来产品设计思路
    一是
:在Mongodb的基础上进行优化,Mongodb设计上主要的缺点是并发锁的设计不好, 被广泛批评. 我们从头开始全新编写测试了File_mapping层的代码, 实现了File_mapping层读写分离的设计思路, 堪称经典, 彻底去掉了mongodb的IO层的大锁,读并发无锁无限制,实现了最大化的读并发处理,写单线程,采用了智能化 对象 的设计思路, 并减少代码层次,  File_Mapping_写空间大小自动扩展, 多个File_mapping读对象无锁自动跟踪扩展的技术, 采用智能化对象的设计思路。
    乌鲁木齐云山云海信息技术有限公司目前已经实现的File_mapping模块,高性能IO读写技术.在普通4核CPU带4块普通硬盘组成软RAID0+1的测试性能如下:缓冲读1.6GByte/s, 缓冲写1.1GByte/s, 无缓冲磁盘写350MByte/s, 无缓冲磁盘读700MByte/s。

    二是:对于Google的Leveldb的无随机写数据结构none random write struct进行了优化改造,重新设计了数据结构,新的数据结构有更高的插入性能,以及更少的合并次数,并且考虑引入目前最快的解压缩工具包,对写入磁盘的数据进行压缩处理,减少总体磁盘IO的数量, 并且设计和预留了标准数据库MVCC和事务处理,多机数据同步构造。)采用了NOSQL的字段名field_name(/field_id)下推到底(每个Row记录)的设计, 以便为今后 任意新增/删除字段, 不需要全表更新。这一部分设计目前还在完善中,目前已经完成了初步的设计方案,部分代码已经在编码测试中。
    目前, 我们已经掌握和验证的技术很多,已经进入到开发阶段的代码模块包括以下:
    1)无随机写的数据结构:采用了类似LevelDb的 数据分层技术, 一次性顺序写入, 以及 不断合并技术, 实现完全消灭随机写, 只有顺序写+随机读, 对SSD的寿命有很大提高, 也可以实现最大化的写入速度, 实现极高的插入性能。在数据结构的设计上采用了类似innodb 日志offset 作为事务进度的指标, 以及commit事务隔离的思路, 并在自己的代码中也采用类似的技术思路, 为今后实现标准SQL所需要的MVCC,以及事务处理,多机主备同步做好准备, 这样可以在不改变数据结构的基础上,先开发NOSQL,后开发标准的SQL数据库, 实现平滑过渡。
    2)高性能hash KV索引内存中只存放索引, 减少物理内存占用, 今后数据由File Mapping缓冲, 利用SSD的极高随机读性能, 单机实现10亿级别以上数据量的高性能处理。为了验证测试这一部分代码,已经实现了一个与memcached命令集兼容的内存数据库,重点测试和验证高性能hash索引,以及CPU任务调度, 内存管理等方面的综合性能,这部分代码刚开发完主要功能模块,初步测试性能与最快的内存数据库memcached很接近,刚开发出来的C++版本性能是单连接每秒6万TPS, 多连接数十万TPS。其中公司开发的基于模板的Circle_hash_map比目前最快的std::unordered_map库各项综合性能要高70%以上。
    3)高性能Lock_free/Wait_free队列的研究和开发目前项目组开发并测试了比较前沿,国内还很少实践的 Lock_free, Wait_free 高性能无锁无等待队列技术, 作为线程间通讯方案. 目前已经在开发的无锁无等待队列比先进的Boost库中最快的无锁无等待队列Boost lock_free spsc queue快30%以上,并且支持更多线程的并发,支持任意对象的调度,测试性能是:单spsc队列的整数数据传输能力是3亿TPS,任务双向调度能力1400万TPS(等效单向调度2800万TPS), 包括生产者push, 消费者pop,消费者处理,回调生产者4个流程的总调度,性能非常突出, 是Boost这样的准标准库任务队列性能的9倍以上,是操作系统任务调度能力的200多倍。
    4)高性能压缩LZ4, 目前项目组主要封装和测试了目前压缩和解压缩速度最快的压缩工具包LZ4, 作为存储层的压缩工具, 以便减少IO流量, 增加缓冲的效率, 进而提供更快的IO性能. 测试每秒解压缩性能500MByte. 是传统解压缩的数倍性能。
    5)高性能CRC校验,目前项目组主要封装和测试了intel CPU 内置的crc32c硬件校验技术(intel SSE4.2指令), 生成64bit校验码的速度是, 测试性能是每秒1.6GByte输入,基本就是读内存的速度,是目前最快的CRC校验生成速度。
   未来 产品的设计优势
   
 前面已经介绍过了高性能网络层(实现普通4核CPU下Echo Server每秒87万QPS)和高性能微线程调度模块(实现每队列每秒2800万次等效单向任务调度),我们已经掌握了很多高性能编程技术。并且, 我们从最低层的瓶颈分析开始,对于下一代数据库的每个环节的瓶颈都有可行的技术方案来应对,并且每项技术都拆分为可单独测试的子模块,进行了大量独立测试,并已经逐步掌握,具备了开发高性能数据库的技术实力。同时我们团队已经从头开始开发下一代数据库, 从每一行代码开始重新编写, 力求超越目前的所有数据库, 希望在性能方面有比较突出的表现. 由于掌握了大量全新的IO接口技术和高性能编程技术,我们具备了与国际公司相对抗的技术潜力, 我们现在集中力量于高性能数据库领域的开发。


 
咨询热线:13999268016
地址:新疆维吾尔自治区乌鲁木齐市水磨沟区南湖东路77号新疆上海科技合作基地八层801室 固话:6583723
返回首页 | 网站地图 | 联系我们
技术支持:创世网络
乌鲁木齐云山云海信息技术有限责任公司 版权所有 备案号:新ICP备17001390号
新公网安备 65010502000200号
网站访问人数: