Real world Rust
- Why and how we use Rust in TiKVwe use Rust in TiKV 黄东旭 PingCAP 关于我 ● 黄东旭 Dongxu_Huang ● Open source hacker / Infrastructure Engineer ● MSRA / Netease / Wandoujia / PingCAP ● CTO of PingCAP ● Codis / TiDB / TiKV ● Go / Python 是否满足 Send + Sync TiKV ● 大规模分布式 Key-Value 数据库 ● 支持 ACID 跨行事务支持 ● 支持 MVCC 无锁的快照读 ● 构建于 Raft 之上,不依赖分布式文件系统 ○ 更少的第三方依赖 ○ 更高的性能(低延迟) ● 配合 TiDB 使用,需要有健全的逻辑实现 SQL 层的下推算子 TiKV 的前置需求 ● 极高的性能要求,尽可能低延迟,而且延迟需要稳定 ○ Multi-Raft ○ 分布式测试框架 ● 和 C 的模块大量交互 ● 开发人员和时间不足 ○ 5 人的团队,希望半年左右发布第一个可用版本 TiKV 的语言选型参考 ● Go ● C++11 ● Rust TiKV 整体架构 KV API Coprocessor Txn, Transaction MVCC Raft KV RocksDB Placement0 码力 | 29 页 | 506.53 KB | 1 年前3
 Creating a Sender/Receiver HTTP Servercom © 2024 Bloomberg Finance L.P. All rights reserved. • Create a basic HTTP server. • Allow a single-threaded server handling multiple clients. • Use the sender/receiver asynchronous framework.0 码力 | 8 页 | 2.19 MB | 6 月前3
 Building API server-side architecture for BeginnersInc. � Building API server-side architecture for Beginners GopherCon ���� ����.��.�� - @hgsgtk © ����-���� BASE, Inc. � Talk abstract • A practical approach to build server-side architecture Approach to build architecture � Summary � Talk structure © ����-���� BASE, Inc. � Why I need server-side architecture �.Keep a design easy to change • -> Separate external input/output and business ignored © ����-���� BASE, Inc. �� Go beginners have a lot of questions� How to implement API server by net/http package How to write an unit test How to use interface type - Go basic questions0 码力 | 38 页 | 690.29 KB | 1 年前3
 Deploy WAR, EAR files inthe Java EE ServerTomcat Sun NetBean, Eclipse Eclipse, Oracle JDevelpoer ︎ Deploy WAR, EAR files in the Java EE Server. ︎ According to environment, modify and deploy configuration files, then manage Java EE system0 码力 | 1 页 | 51.98 KB | 1 年前3
 Java 应用与开发 - JSP (Java Server Page)大纲 JSP 概述 JSP 指令 JSP 动作 JSP 脚本 JSP 内置对象 本节习题 Java 应用与开发 JSP (Java Server Page) 王晓东 wangxiaodong@ouc.edu.cn 中国海洋大学 December 3, 2018 大纲 JSP 概述 JSP 指令 JSP 动作 JSP 脚本 JSP 内置对象 本节习题 学习目标 1. 理解 JSP 和 JSP 动作 JSP 脚本 JSP 内置对象 本节习题 大纲 JSP 概述 JSP 指令 JSP 动作 JSP 脚本 JSP 内置对象 本节习题 JSP 基本概念 ▶ JSP(Java Server Page),即 Java 服务器页面。 ▶ JSP 是 Servlet 的扩展。 ▶ JSP 将使用 Java 类编写动态 Web 组件的方式转变为使 用文本编写��用标记型语法和过程性语法�合�,降低了0 码力 | 47 页 | 740.36 KB | 1 年前3
 王宜国 - 基于 Rust 编程语⾔构建 Amphitheatre CLI  Desktop  Server 的全平台实践经验第三届中国Rust开发者⼤会 基于 Rust 编程语⾔构建 Amphitheatre CLI / Desktop / Server 的全平台实践经验 王宜国 - 独⽴开源软件作者 RUST CHINA CONF 2023 • 项⽬背景介绍 • 产品功能演示 • 应⽤场景概览 项⽬介绍 • 概念 • 架构设计 • 技术实现 设计与实现 ⼤纲 Amphitheatre 云开发环境(Cloud0 码力 | 34 页 | 10.81 MB | 1 年前3
 Go 构建大型开源分布式数据库技术内幕course 如何构建分布式数据库? 原则 ● 分层 ● Make it right and make it fast. ● 测试很重要 ● 简单易用 ● 和社区结合 架构 TiKV TiKV TiKV TiKV Raft Raft Raft TiDB TiDB TiDB ... ... ... ... ... Placement Driver (PD) Control flow: Storage stack 1/2 ● TiKV is the underlying storage layer ● Physically, data is stored in RocksDB ● We build a Raft layer on top of RocksDB ○ What is Raft? ● Written in Rust! TiKV API (gRPC) Transaction 2:[d-e] split 分裂: 1/4 TiKV1 Region 1:[a-e] TiKV2 Region 1:[a-e] TiKV3 Region 1:[a-e] raft raft Leader Follower Follower Raft group 分裂: 2/4 TiKV2 Region 1:[a-e] TiKV3 Region 1:[a-e] raft0 码力 | 44 页 | 649.68 KB | 1 年前3
 Go in TiDBHBase Cassandra MongoDB ... Google Spanner Google F1 TiDB RDBMS NoSQL NewSQL Architecture TiKV TiKV TiKV TiKV Raft Raft Raft TiDB TiDB TiDB ... ... Placement Driver (PD) Control flow: Balance / Failover Distributed Storage Layer ... TiKV - Overview • Region: a set of continuous key-value pairs • Data is organized/stored/replicated by Regions • Highly layered TiKV Key Space [ start_key, end_key) PD - Overview TiKV TiKV TiKV TiKV … ... TiKV Cluster PD Node/Region Info Management Command TiKV Client Route Info ● Meta data management ● Load balance management TiKV - Multi-Raft Multiple0 码力 | 22 页 | 1.01 MB | 1 年前3
 高可用与一致性:构建强一致性分布式数据库 TiDB-沈泰宁protocol SQL NoSQL tidb-server tikv-server •No single point of failure •Automatic failover High Availability at Scale •Snapshot isolation @ TiDB •Linearizability @ TiKV Strong Consistency at Scale0 码力 | 45 页 | 4.63 MB | 1 年前3
 5 How to integrate Graph mode into RDBMS smoothly 副标题 TiDB TiDB Worker Spark Driver TiKV Cluster (Storage) Metadata TiKV TiKV TiKV MySQL Clients Syncer Data location Job TiSpark DistSQL API TiKV TiDB TSO/Data location Worker Worker Worker Spark Cluster TiDB Cluster TiDB ... ... ... DistSQL API PD PD PD Cluster TiKV TiKV TiDB PD 天下大势,合久必分,分久必合 《三国演义》 图 + 关系型多模实现 01. 副标题 g_prefix Vertex_ID Tag_ID g_prefix src_Vertex_ID0 码力 | 26 页 | 1.14 MB | 1 年前3
共 1000 条
- 1
 - 2
 - 3
 - 4
 - 5
 - 6
 - 100
 













