SynapseDB 是一个创新的开源分布式数据库系统,旨在统一事务处理(OLTP)与分析查询(OLAP)工作负载。受生物神经突触(Synapse)高效传递信息的启发,SynapseDB 在分布式节点间建立智能连接,实现数据的高速流动与智能处理。
核心理念:不再需要在事务一致性(Oracle)与分析性能(Greenplum)之间妥协——SynapseDB 让一个系统同时胜任两类工作负载。
┌─────────────────────────────────────────────────┐
│ 智能SQL层 (SynapseQL) │
├─────────────────────────────────────────────────┤
│ 查询优化器 │ 事务管理器 │ 元数据管理 │ 分布式调度 │
├─────────────────────────────────────────────────┤
│ 行式存储引擎 │ 列式存储引擎 │
│ (高并发事务) │ (实时分析) │
├─────────────────────────────────────────────────┤
│ 分布式存储引擎 (SynapseFS) │
├─────────────────────────────────────────────────┤
│ 节点间通信层 (SynapseLink) │
└─────────────────────────────────────────────────┘
git clone https://gitee.com/synapsedb/synapsedb.git
cd synapsedb
./configure --with-optimize
make -j$(nproc)
sudo make install
# 启动单节点测试环境
synapse-initdb /path/to/data
synapse-server --port=5432
# 或使用分布式部署
synapse-deploy --config=cluster.yaml
-- 创建分布式表(支持中文关键词)
创建 用户表 (
用户ID INT 主键,
姓名 VARCHAR(50),
注册时间 TIMESTAMP
) 分布方式=哈希(用户ID);
-- 插入数据
插入 用户表 值 (1, '张三', 现在());
-- 实时分析查询
选择 计数(*), 日期(注册时间)
从 用户表
分组 按 日期(注册时间);
当前版本: v0.8.0 (Alpha)
开发状态: 核心SQL解析器、基础存储引擎已完成,分布式架构开发中
我们欢迎所有形式的贡献!请参阅:
发现bug或有功能建议?请到 https://gitee.com/synapsedb/synapsedb/issues 页面提交。
/*### 🌍 社区交流
SynapseDB 采用 Apache License 2.0 开源协议,允许商业使用、修改和分发。请参阅 LICENSE 文件了解详情。
SynapseDB 由一群资深的数据库工程师和架构师创立,团队成员来自知名互联网公司和开源社区,在分布式系统、数据库内核研发领域拥有丰富经验。
项目发起人: 侯鑫谊
架构师: 侯鑫谊
核心贡献者: 侯鑫谊
感谢所有为 SynapseDB 做出贡献的开发者,以及支持我们的开源社区伙伴。特别感谢 Gitee 和 GitHub 平台为开源项目提供的优秀服务。
星星是我们前进的动力! ⭐ 如果这个项目对您有帮助,请给我们一个 Star!
SynapseDB - 连接数据的未来
官方网站: https://synapsedb.org
代码仓库:
Copyright © 2024 SynapseDB Contributors. All rights reserved.