1
singerll 2020-08-22 06:28:36 +08:00 via Android
阿里云官方的 drds 文档
|
2
opengps 2020-08-22 07:29:59 +08:00 via Android
先搞清楚用分布式的目的:
硬盘空间不够? 硬盘 io 不够? 副本容灾? |
3
yulang 2020-08-22 08:42:29 +08:00 via Android
我们最近正在搞分布式数据库,可以交流下
|
4
kidlj 2020-08-22 09:16:16 +08:00 via iPhone
TiDB
CockroachDB |
5
sparkle2015 2020-08-22 10:28:28 +08:00 1
PingCAP University 以及 PingCAP Talent Plan 了解一下: https://university.pingcap.com/ https://university.pingcap.com/talent-plan/ 教你学习,使用和实现分布式数据库
|
6
snappyone 2020-08-22 10:30:36 +08:00 1
raft 论文走一遍,看明白了论文就全懂了
|
7
zoharSoul 2020-08-22 10:42:14 +08:00
阿里云 drds 掏钱就行了
|
8
azureus 2020-08-22 11:09:03 +08:00
可以了解一下腾讯开源的 tbase,分布式数据库
|
9
chihiro2014 2020-08-22 14:53:20 +08:00
学下 6.824 和 DBMS 差不多就行了
|
10
TypeError 2020-08-22 18:31:43 +08:00 via Android 1
强烈推荐“DDIA” 中文书名《数据密集型应用系统设计》
跟着翻一遍就可以系统了解数据库和分布式系统了, 深入的话可以跟着书中给出的论文引用走 |
11
laminux29 2020-08-22 19:17:08 +08:00
如果你有时间,或者自己能挤出时间,并且有两三年的学习计划,建议是:
模电 -> 数电 -> 组成 -> 汇编 -> C/C++ -> Java/C#/PHP/Python -> 操作系统 / 计算机网络 / *多媒体 -> 数据库 -> 分布式。 之所以要这样设置,是因为,分布式主要是为了能以低成本来解决性能问题。 性能问题,要弄彻底清楚原因,需要从模电开始。 然后汇编、C/C++以及操作系统,能够从指令、操作、基本架构上说明单机的性能问题。 计算机网络、数据库,这些是对分布式问题的应用。 多媒体作为选修,如果工作有接触,可以去了解一下。 |
12
black11black OP @opengps 目的是提高可用性,以后跳槽时可以回答人家的百万并发问题
|
13
black11black OP @laminux29 神 tm 从模电开始,我本人比较孤陋寡闻,无名三本毕业的,我们学校组原也是从数电开始讲,我想听大神讲讲模电怎么影响分布式性能的?
|
14
labulaka521 2020-08-23 13:41:06 +08:00 via iPhone 1
@laminux29 建议从造 cpu 硬盘 内存开始
|
15
yanyueio 2020-08-23 18:09:42 +08:00
让题主从头开始修炼的也真是够了。
分布式数据库多半就是 redis, cassandra, mongodb, hbase 这类 nosql 了,和传统数据库的百万级数据量不同,这里处理能力都在百万以上,多半是集群方式部署的。抽象来看(从外部来看)他们既可以是 source,也可以作为 sink,所以说和传统数据库用起来有啥不同,外部是感受不到的(但实际上内部是不同的,比如存储方式,核心数据模型) --- 一般都会有类似传统 SQL 一样的封装 API 给你。 但分布式数据库引入了高可用,高并发存储的同时也引入了诸如一致性问题,节点维护,通信问题,备份容灾等等,这比传统数据库的主从复制, 分表分库等要复杂一些。 入门的话,找一个分布式数据库比如 hbase 看看就知道怎么回事儿了,其他虽然有不同但只要不离开分布式(相对的是单机),大同小异。 |
16
black11black OP @yanyueio 感谢回复,分布式都是基于 nosql 技术吗?跟想象中差别很大,几个问题,一个比如 nosql 放在内存里实际上能存的数据很少,比如我们这种百亿级的业务,一般内存扛不住。再一个是持久化储存的问题,为了防止突发情况断电丢数据,一般应该都会有一些持久化策略,但是毕竟 nosql,边际情况的可靠性如何确保呢?
|
17
yanyueio 2020-08-23 19:41:22 +08:00 1
@black11black 这个要具体数据库具体分析。你问的问题已经设计到了其存储模型。首先这些 nosql 本身没有约束限制,所以存储起来要比检查约束的传统数据库快;其次,诸如列式存储的 hbase 更是如此,即并非都是行式存储。最后,nosql 并非都是 redis 这样存储在内存中的(分布式计算框架才大多都是在内存中处理),他们多半也是要落地到磁盘&文件系统,然而集群的读写,外加底层有 hdfs 等这样专门设计的文件系统,所以读写效率也是不错的,至少比传统型的 oracle 抗打(不绝对啊,你可以参考一下 ocean base 这类与 oracle 集群的对比看看是否有虚假宣传)。最后可靠性问题,这本质是集群管理的问题,比如 leader 挂了,怎么重新选举,怎么冗余备份等,具体还是要落实到各个数据库,比如 cassandra 解决方案就是无中心化架构,不分主从。一点浅见,仅供参考。
|
18
laminux29 2020-08-23 20:22:44 +08:00
|
19
laminux29 2020-08-23 20:29:50 +08:00
@labulaka521 CPU 和内存这种门槛太高的就不说了,说说简单一些的存储设备吧,你可以尝试举出几种你知道的存储设备类型,然后思考一下,这些存储设备,是因为怎样的需求而诞生的?
|
20
laminux29 2020-08-23 20:34:26 +08:00
@yanyueio
你如果觉得,我建议题主从头修炼不合适,那么,就说说你提到 nosql 与传统数据库,对于以下问题: 1.nosql 与传统数据库,为什么会存在性能差别? 2.既然 nosql 性能那么高,为什么很多项目选型仍然会选择传统数据库? 3.nosql 为什么通常会采用分布式,而非单机方式来部署? 你觉得,如果不从头修炼,他如何回答这些问题? |
21
gaius 2020-08-24 02:34:07 +08:00 via Android
mit 6.824 ,cmu 15-721 入门。
🐶 想啥呢肯定直接买商用 |
22
gaius 2020-08-24 02:37:25 +08:00 via Android
而且确定需要 oltp ?
|
23
chinafengzhao 2020-11-09 03:43:06 +08:00 via iPhone
@gaius 这两个专业
|