baidu / baidu/tera

in the process of designing, implementing, maintaining, and supporting tera, we gained useful experience and learned several interesting lessons

Open
#1,063 1 comment 1 reaction 0 assignees View on GitHub
module/master module/other module/sdk module/ts stat/will-see-later
Dominant language
C++
Stars
1.9k
Forks
432
PR merge metrics
No merged PRs in 30d

Description

tera技术点:

1、单机存储引擎优化:
1)如何支持多数据模型(kv,ttlkv,table)
2)如何支持多lg支持;
3)如何支持schema free及原子属性变更生效;
4)如何支持分裂
5)如何支持合并
6)如何支持原子加
7)内存compact支持
8)多介质支持(mem,ssd,disk)
9)文件系统异常容忍
10)内存控制,cpu优化,compact优化
11)基于row key的bloom filter支持

2、ts端优化:
1)scan优化
2)write优化

3、master端优化:
1)事件触发的tablet状态(分裂,合并,加载,卸载)管理;
2)事件触发的ts状态管理;
3)gc策略
4)负载均衡策略

4、sdk端优化:
1)读写的batch
2)超时管理
3)元数据cookie管理

科普性文章:
1、bigtable数据模型解析

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reviewing the issue's list of Tera storage-engine, tablet-server, master, SDK, and Bigtable data-model topics. No file, entry point, or test is named, so first identify where the corresponding documentation lives and narrow the intended article scope. Done means a focused, reviewable educational article covering the agreed topics.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
databases, distributed-systems, documentation
Issue type
Documentation
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.