当前位置: 首页 > wzjs >正文

大型网站集群怎么做wordpress 代替

大型网站集群怎么做,wordpress 代替,视频号排名优化帝搜软件,十堰网站建设是什么引言 RocksDB 是 Facebook 的一个实验项目,目的是希望能开发一套能在服务器压力下,真正发挥高 速存储硬件性能的高效数据库系统。这是一个C库,允许存储任意长度二进制 KV 数据。支持原 子读写操作。 RocksDB 依靠大量灵活的配置,…

引言

RocksDB 是 Facebook 的一个实验项目,目的是希望能开发一套能在服务器压力下,真正发挥高 速存储硬件性能的高效数据库系统。这是一个C++库,允许存储任意长度二进制 KV 数据。支持原 子读写操作。
RocksDB 依靠大量灵活的配置,使之能针对不同的生产环境进行调优,包括直接使用内存,使用 Flash,使用硬盘或者 HDFS。支持使用不同的压缩算法,并且有一套完整的工具供生产和调试使用。
RocksDB 大量复用了 levedb 的代码,并且还借鉴了许多 HBase 的设计理念。原始代码从
leveldb 1.5 上fork 出来。同时 RocksDB 也借用了一些 Facebook 之前就有的理念和代码。
RocksDB 应用场景非常广泛;比如支持 redis 协议的 pika 数据库,采用 RocksDB 持久化 redis 支持的数据结构;MySQL 中支持可插拔的存储引擎,facebook 维护的 MySQL 分支中支持 RocksDB;

高度分层架构

RocksDB 是一种可以存储任意二进制kv数据的嵌入式存储。RocksDB 按顺序组织所有数据,他们 的通用操作是 Get(key) , NewIterator() , Put(key, value) , Delete(Key) 以及SingleDelete(key) 。
RocksDB 有三种基本的数据结构:memtable,sstfile以及logfile。memtable是一种内存数据结 构——所有写入请求都会进入 memtable,然后选择性进入 logfile。logfile 是一个在存储上顺序 写入的文件。当memtable 被填满的时候,他会被刷到 sstfile 文件并存储起来,然后相关的 logfile 会在之后被安全地删除。sstfile 内的数据都是排序好的,以便于根据 key 快速搜索。
RocksDB 是基于 lsm-tree (log structured merge - tree) 实现;

一.LSM-Tree

1.为什么使用LSM-Tree而不用B+树 作为 RocksDB底层的数据结构

在rocksdb中,面对海量数据的写入的是永远绝对的优势的,分别在wal写入直接落盘和写入内存然后再落盘 

LSM-Tree 的核心思想是利用顺序写来提升写性能;LSM-Tree 不是一种树状数据结构,仅仅是一 种存储结构;LSM-Tree 是为了写多读少(对读的性能实时性要求相对较低)的特定场景而提出的
解决方案;如日志系统、海量数据存储、数据分析;
2.重点介绍一下LSM-Tree 体系结构

 

①MemTable  在内存中的一个可读可写表

 读取在查询 SST 文件前总是要查询 memtable,因为 memtable 里面的数据总是更新的。一旦一个 memtable 被写满,他会变成不可修改的,并被一 个新的 memtable 替换。一个后台线程会把这个 memtable 的内容落盘到一个 SST 文件,然后这 个 memtable 就可以被销毁了

 

 

 ②Immutable MemTable 在内存中的一个只读表

Immutable MemTable 也是存储在内存中的数据,不过是只读的内存数据; 当 MemTable 写满后,会被置为只读状态,变成 Immutable MemTable。然后会创建一块新的MemTable 来提供写入操作;Immutable MemTable 将异步 flush 到 SST 中;

 ③WAL

写入的数据会备份到wal 然后直接通过flush刷到磁盘 

 ③SST

SST (Sorted String Table) 有序键值对集合;是 LSM-Tree 在磁盘中的数据结构;可以通过建立 key 的索引以及布隆过滤器来加快 key 的查询;LSM-Tree 会将所有的 DML 操作记录保存在内存 中

 RocksDB 的数据落盘时机主要包括:MemTable 达到阈值时刷写为 SSTable后台 Compaction 合并 SSTable 文件手动调用 Flush/Compact 接口 或 数据库关闭时强制同步

二.RocksDB接口的使用案例 

1.main.cpp
#include <iostream>
#include <rocksdb/db.h>int main() {rocksdb::DB *db;rocksdb::Options options;options.create_if_missing = true;// 打开数据库rocksdb::Status status = rocksdb::DB::Open(options, "test1", &db);assert(status.ok());// 写入 key-valuestatus = db->Put(rocksdb::WriteOptions(), "name", "lion");assert(status.ok());// 读取 keystd::string value;status = db->Get(rocksdb::ReadOptions(), "name", &value);if (status.ok()) {std::cout << "name:" << value << std::endl;} else {std::cout << "Get failed" << std::endl;}// 删除 keystatus = db->Delete(rocksdb::WriteOptions(), "name");assert(status.ok());delete db;return 0;
}
2.CMakeLists.txt
cmake_minimum_required(VERSION 3.10)
project(rocksdb_example)set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)find_package(Threads REQUIRED)# 手动指定 rocksdb 路径
include_directories(/usr/local/include)
link_directories(/usr/local/lib)add_executable(rocksdb_example main.cpp)target_link_libraries(rocksdb_examplerocksdbThreads::Threadsz stdc++fs bz2 snappy lz4 zstd  # RocksDB 可能依赖的库
)
3.总结

rocksdb虽然对外的接口不多但是options选项有百来个,扩展性非常大


文章转载自:

http://AI4SZVWz.zbnts.cn
http://D6pWHzX3.zbnts.cn
http://64tWqog1.zbnts.cn
http://33Gz694K.zbnts.cn
http://uNJsA0XY.zbnts.cn
http://TDmenuT7.zbnts.cn
http://4bNdEqzD.zbnts.cn
http://y8XYN769.zbnts.cn
http://XG0XMtdn.zbnts.cn
http://NS0KbBe7.zbnts.cn
http://byuFT8IF.zbnts.cn
http://Z3N61GIW.zbnts.cn
http://tJegaqfP.zbnts.cn
http://k0cDK37U.zbnts.cn
http://ES5zgHSs.zbnts.cn
http://4ZXTIlq0.zbnts.cn
http://0wni4I6d.zbnts.cn
http://3rgqxmud.zbnts.cn
http://zxPny50w.zbnts.cn
http://PmJgicMO.zbnts.cn
http://PXWTmRa7.zbnts.cn
http://VRImG8uX.zbnts.cn
http://qdJiHZs7.zbnts.cn
http://myeNbkLQ.zbnts.cn
http://cTLXM9B5.zbnts.cn
http://n4BLgDcG.zbnts.cn
http://O0V4H9dm.zbnts.cn
http://0b7vuwTY.zbnts.cn
http://2ArdjOJo.zbnts.cn
http://6OROIgob.zbnts.cn
http://www.dtcms.com/wzjs/666540.html

相关文章:

  • jsp网站开发技术难点phpcms多个网站
  • 阳泉网站开发wordpress 4 下载地址
  • 住房建设部官方网站莱芜seo公司
  • 酒店网站程序wordpress搭建博客简书
  • cdn网络对网站开发有影响吗东莞最穷的三个镇
  • 比较好的网站公司吗阜新网站优化
  • asp.net网站开发pdfwordpress文件上传插件
  • 二级目录 网站中国科技大学
  • 设计网站的素材山西seo推广
  • 网站策划文案做网站卖多少钱一个
  • 成都诗和远方网站建设东莞网络公司招聘信息
  • 网站设置cookie什么意思app store怎么退款
  • wordpress开发视频网站模板下载南通优化网站价格
  • 网站开发与网站制作做产品网站费用
  • 旅游网站设计风格网站开发过程会遇到的问题
  • 蔚县网站建设wl17581html5网页设计源代码
  • 惠民建设局网站网站编辑没有经验可以做吗
  • 注册型网站推广社交网站源代码
  • 电子商务网站建设对毕业设计海口建设网站建设
  • 节点网站郑州seo顾问热狗hotdoger
  • 天津专业网站建设公司网上可以注销营业执照吗
  • 网站建设情况 报告学用mvc4做网站
  • 河间网站网站建设南昌自助建站
  • 网站域名证书哪里获取网站设计在线
  • 合肥网站建设晨飞抖音小程序怎么开发自己的小程序
  • 如何查询网站域名备案润和软件是外包公司吗
  • 门户网站代做电子商务网络营销方式有哪些
  • 自己买域名建设网站百度站长反馈
  • 天津放心站内优化seo宿迁网站建设电话
  • 类似wordpress的网站php网站优点