1、Key/Value SSD的原理和应用Unstructed data dominatesTraditional KV StoreTraditional KV StoreApplicationRocksDBExt4Block DeviceSSDTraditional KV StoreApplicationRocksDBExt41, Compaction操作导致几倍的写放大.2, Write LogBlock DeviceSSDTraditional KV StoreApplicationRocksDBExt41, block bitmap2, file map table.3, logBlock
2、 DeviceSSDTraditional KV StoreApplicationRocksDBExt41, Linux Block Device接口是为机械硬盘设计的,并不能发挥出SSD的优势和特性。Block DeviceSSDLog on LogApplicationRocksDBExt4Log + DataLog + DataBlock DeviceSSDLog StructuredTraditional SSD vs KV SSDSSDKV SSDNew Software ArchitectureApplicationRocksDBExt4ApplicationKV SSDBlock
3、 DeviceSSDKV SSD Software StackApplicationsKV Library/ToolsKV SSD DriverUser SpaceKernel SpaceHardwareOpen Channel SSDOpen Channel SSDAPPAPPAPPAPPLibLightNVMKV LibaryBlockDeviceDriverKVSSDDriverNVMEDriverLightNVM layerKVSSD Driver key2addr index table Log structured GC WL CompressionKVSSD Driver Rea
4、d/Write FlowIndex TableIndex TablePysical LocationPysical LocationNand FlashNand Flash PageDRAMNand FlashNand Flash PageMetadata KeyValueKV Librar y API open_db/close_db kv_put/kv_get/kv_delete iterator write_batch/read_batch snapshot Column Family Read CacheKVSSD Over view KEY_SIZE: 1B 127B VALUE_SIZE: 1B 40MB (1KB+ better) Persistency Atomic WriteKVSSD和RocksDB的随机写性能对比KV_PUT性能对比SSD写入数据量对比 IOPS:45K/S450400350300250200150100502502001501005024041045460020 threadsRocksDB KV SSDRocksDB KV SSD测试条件: key_size:8, value_size:1KB, WriteOption.sync=trueUse CasesPikaMyRocksQ&A?