All Projects → DTC8 → DTC

DTC8 / DTC

Licence: Apache-2.0 License
DTC is a high performance Distributed Table Cache system designed by JD.com that offering hotspot data cache for databases in order to reduce pressure of database and improve QPS.

Programming Languages

C++
36643 projects - #6 most used programming language
c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to DTC

Cortx
CORTX Community Object Storage is 100% open source object storage uniquely optimized for mass capacity storage devices.
Stars: ✭ 426 (+1928.57%)
Mutual labels:  distributed-systems, storage, distributed-storage
Storj
Ongoing Storj v3 development. Decentralized cloud object storage that is affordable, easy to use, private, and secure.
Stars: ✭ 1,278 (+5985.71%)
Mutual labels:  distributed-systems, storage, distributed-storage
incache
Powerful key/value in-memory storage or on disk to persist data
Stars: ✭ 16 (-23.81%)
Mutual labels:  storage, cache, cache-storage
Foundatio
Pluggable foundation blocks for building distributed apps.
Stars: ✭ 1,365 (+6400%)
Mutual labels:  distributed-systems, storage
Distributedsystem Series
📚 深入浅出分布式基础架构,Linux 与操作系统篇 | 分布式系统篇 | 分布式计算篇 | 数据库篇 | 网络篇 | 虚拟化与编排篇 | 大数据与云计算篇
Stars: ✭ 1,092 (+5100%)
Mutual labels:  distributed-systems, storage
Sfs
The distributed object storage server used by PitchPoint Solutions to securely store billions of large and small files using minimal resources. Object data is stored in replicated volumes implemented like Facebooks Haystack Object Store. Object metadata which essentially maps an object name to a volume position is stored in an elasticsearch index.
Stars: ✭ 78 (+271.43%)
Mutual labels:  distributed-systems, distributed-storage
Longhorn
Cloud-Native distributed storage built on and for Kubernetes
Stars: ✭ 3,384 (+16014.29%)
Mutual labels:  distributed-systems, storage
Rucio
Rucio - Scientific Data Management
Stars: ✭ 131 (+523.81%)
Mutual labels:  distributed-systems, storage
Mysql Notes
MySQL 学习笔记
Stars: ✭ 227 (+980.95%)
Mutual labels:  distributed-systems, distributed-storage
storage-box
Intuitive and easy-to-use storage box.
Stars: ✭ 26 (+23.81%)
Mutual labels:  storage, cache
MIT6.824-2021
4 labs + 2 challenges + 4 docs
Stars: ✭ 594 (+2728.57%)
Mutual labels:  distributed-systems, storage
Layr
A decentralized (p2p) file storage system built atop Kademlia DHT that enforces data integrity, privacy, and availability through sharding, proofs of retrievability, redundancy, and encryption, with smart-contract powered incentive scheme
Stars: ✭ 90 (+328.57%)
Mutual labels:  distributed-systems, distributed-storage
Awesome Scalability Toolbox
My opinionated list of products and tools used for high-scalability projects
Stars: ✭ 34 (+61.9%)
Mutual labels:  distributed-systems, storage
Kingbus
A distributed MySQL binlog storage system built on Raft
Stars: ✭ 798 (+3700%)
Mutual labels:  distributed-systems, storage
Awesome Distributed Systems
Awesome list of distributed systems resources
Stars: ✭ 512 (+2338.1%)
Mutual labels:  distributed-systems, distributed-storage
Seaweedfs
SeaweedFS is a fast distributed storage system for blobs, objects, files, and data lake, for billions of files! Blob store has O(1) disk seek, cloud tiering. Filer supports Cloud Drive, cross-DC active-active replication, Kubernetes, POSIX FUSE mount, S3 API, S3 Gateway, Hadoop, WebDAV, encryption, Erasure Coding.
Stars: ✭ 13,380 (+63614.29%)
Mutual labels:  distributed-systems, distributed-storage
Juicefs
JuiceFS is a distributed POSIX file system built on top of Redis and S3.
Stars: ✭ 4,262 (+20195.24%)
Mutual labels:  distributed-systems, storage
Dragonboat
Dragonboat is a high performance multi-group Raft consensus library in pure Go.
Stars: ✭ 3,983 (+18866.67%)
Mutual labels:  distributed-systems, distributed-storage
kesho
store cache any data type string, boolean, jsonObject, jsonArray, .....
Stars: ✭ 19 (-9.52%)
Mutual labels:  storage, cache-storage
infinitree
Scalable and encrypted embedded database with 3-tier caching
Stars: ✭ 80 (+280.95%)
Mutual labels:  storage, cache

DTC

DTC - Distributed Table Cache

Build Status

Overview

DTC is a high performance Distributed Table Cache system designed by JD.com that offering hotspot data cache for databases in order to reduce pressure of database and improve QPS.

The DTC system consists of the following components:

  • Agent - Provides key consistent hash routing in order to reduce connections and improve performance.
  • Dtcd - Provides hot data caching service.
  • Connector - Provides connection and communication between cache and persistent storage database such as MYSQL.

Feature

  • Database Protection
    • protection for null node, prevent cache breakdown.
    • provide long-term data caching, and prevent cache penetration.
    • data source thread available, protect the database with a limited number of connections.
    • Estimated timeout policy to reduce invalid database requests.
  • Data consistency
    • write-through policy, ensure cache and database data consistent.
    • barrier policy to prevent update requests lost while concurrcy.
  • Performance
    • integrated memroy allocation policy to avoid frequent system calls.
    • I/O multiplexing to handle concurrcy requests.
    • multiple data structure models to improve memory performance.
  • Scalability
    • cache node expands horizontally to enhance cache capacity.
    • cache node expands vertically, supports slave reading, and solve the bottleneck of hot keys.
    • provide sharding, supports for persistent storage scalable.

Performance

  • DTC can process 90,000 QPS of query requests at single-core cpu & single dtc instance.
  • DTC can provide above 3,000,000 QPS query capability with above 99.9% hit rate and less than 200 μs response time in actual distributed scenarios.

How to Build

DTC provides docker images for quick start:

  • Start server docker:
docker pull dtc8/server:latest
docker run -i -t --name dtc-server -p 127.0.0.1:20015:20015 dtc8/server:latest

For more compile information, click Building.
Trying a demo, visit QuickStart.

License

JD.com © Copyright 2022 JD.com, Inc.
Apache 2.0. Visit LICENSE for more details.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].