Skip to content

Commit 6a21053

Browse files
committed
更新图片路径
1 parent 766fd3b commit 6a21053

7 files changed

Lines changed: 21 additions & 21 deletions

File tree

docs/middleware/shardingsphere-jdbc.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ shardingsphere-jdbc 定位为轻量级 Java 框架,在 Java 的 JDBC 层提供
88
- 支持任何第三方的数据库连接池,如:DBCP, C3P0, BoneCP, Druid, HikariCP 等。
99
- 支持任意实现 JDBC 规范的数据库,目前支持 MySQL,Oracle,SQLServer,PostgreSQL 以及任何遵循 SQL92 标准的数据库。
1010

11-
![](https://raw.githubusercontent.com/dunwu/images/dev/snap/20201008151213.png)
11+
![](http://dunwu.test.upcdn.net/snap/20201008151213.png)
1212

1313
## 快速入门
1414

@@ -74,7 +74,7 @@ DataSource dataSource = ShardingSphereDataSourceFactory.createDataSource(dataSou
7474

7575
ShardingSphere 的 3 个产品的数据分片主要流程是完全一致的。 核心由 `SQL 解析 => 执行器优化 => SQL 路由 => SQL 改写 => SQL 执行 => 结果归并`的流程组成。
7676

77-
![](https://raw.githubusercontent.com/dunwu/images/dev/snap/20201008153551.png)
77+
![](http://dunwu.test.upcdn.net/snap/20201008153551.png)
7878

7979
- QL 解析:分为词法解析和语法解析。 先通过词法解析器将 SQL 拆分为一个个不可再分的单词。再使用语法解析器对 SQL 进行理解,并最终提炼出解析上下文。 解析上下文包括表、选择项、排序项、分组项、聚合函数、分页信息、查询条件以及可能需要修改的占位符的标记。
8080
- 执行器优化:合并和优化分片条件,如 OR 等。
@@ -123,4 +123,4 @@ SQL 解析作为分库分表类产品的核心,其性能和兼容性是最重
123123

124124
### 执行引擎
125125

126-
### 归并引擎
126+
### 归并引擎

docs/middleware/shardingsphere.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
ShardingSphere 是一套开源的分布式数据库中间件解决方案组成的生态圈,它由 Sharding-JDBC、Sharding-Proxy 和 Sharding-Sidecar(计划中)这 3 款相互独立的产品组成。 他们均提供标准化的数据分片、分布式事务和数据库治理功能,可适用于如 Java 同构、异构语言、云原生等各种多样化的应用场景。
88

9-
![](https://raw.githubusercontent.com/dunwu/images/dev/snap/20201008151613.png)
9+
![](http://dunwu.test.upcdn.net/snap/20201008151613.png)
1010

1111
#### ShardingSphere-JDBC
1212

@@ -16,7 +16,7 @@ ShardingSphere 是一套开源的分布式数据库中间件解决方案组成
1616
- 支持任何第三方的数据库连接池,如:DBCP, C3P0, BoneCP, Druid, HikariCP 等。
1717
- 支持任意实现 JDBC 规范的数据库,目前支持 MySQL,Oracle,SQLServer,PostgreSQL 以及任何遵循 SQL92 标准的数据库。
1818

19-
![](https://raw.githubusercontent.com/dunwu/images/dev/snap/20201008151213.png)
19+
![](http://dunwu.test.upcdn.net/snap/20201008151213.png)
2020

2121
#### Sharding-Proxy
2222

@@ -25,15 +25,15 @@ ShardingSphere 是一套开源的分布式数据库中间件解决方案组成
2525
- 向应用程序完全透明,可直接当做 MySQL/PostgreSQL 使用。
2626
- 适用于任何兼容 MySQL/PostgreSQL 协议的的客户端。
2727

28-
![](https://raw.githubusercontent.com/dunwu/images/dev/snap/20201008151434.png)
28+
![](http://dunwu.test.upcdn.net/snap/20201008151434.png)
2929

3030
#### Sharding-Sidecar(TODO)
3131

3232
定位为 Kubernetes 的云原生数据库代理,以 Sidecar 的形式代理所有对数据库的访问。 通过无中心、零侵入的方案提供与数据库交互的的啮合层,即 `Database Mesh`,又可称数据库网格。
3333

3434
Database Mesh 的关注重点在于如何将分布式的数据访问应用与数据库有机串联起来,它更加关注的是交互,是将杂乱无章的应用与数据库之间的交互进行有效地梳理。 使用 Database Mesh,访问数据库的应用和数据库终将形成一个巨大的网格体系,应用和数据库只需在网格体系中对号入座即可,它们都是被啮合层所治理的对象。
3535

36-
![](https://raw.githubusercontent.com/dunwu/images/dev/snap/20201008151557.png)
36+
![](http://dunwu.test.upcdn.net/snap/20201008151557.png)
3737

3838
| _Sharding-JDBC_ | _Sharding-Proxy_ | _Sharding-Sidecar_ | |
3939
| :-------------- | :--------------- | :----------------- | ------ |
@@ -50,7 +50,7 @@ ShardingSphere-JDBC 采用无中心化架构,适用于 Java 开发的高性能
5050

5151
Apache ShardingSphere 是多接入端共同组成的生态圈。 通过混合使用 ShardingSphere-JDBC 和 ShardingSphere-Proxy,并采用同一注册中心统一配置分片策略,能够灵活的搭建适用于各种场景的应用系统,使得架构师更加自由地调整适合与当前业务的最佳系统架构。
5252

53-
![](https://raw.githubusercontent.com/dunwu/images/dev/snap/20201008151658.png)
53+
![](http://dunwu.test.upcdn.net/snap/20201008151658.png)
5454

5555
### 功能列表
5656

docs/nosql/mongodb/mongodb-aggregation.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ MongoDB Pipeline 由多个阶段([stages](https://docs.mongodb.com/manual/refe
1414

1515
同一个阶段可以在 pipeline 中出现多次,但 [`$out`](https://docs.mongodb.com/manual/reference/operator/aggregation/out/#pipe._S_out)[`$merge`](https://docs.mongodb.com/manual/reference/operator/aggregation/merge/#pipe._S_merge),和 [`$geoNear`](https://docs.mongodb.com/manual/reference/operator/aggregation/geoNear/#pipe._S_geoNear) 阶段除外。所有可用 pipeline 阶段可以参考:[Aggregation Pipeline Stages](https://docs.mongodb.com/manual/reference/operator/aggregation-pipeline/#aggregation-pipeline-operator-reference)
1616

17-
![img](https://raw.githubusercontent.com/dunwu/images/dev/snap/20200921092725.png)
17+
![img](http://dunwu.test.upcdn.net/snap/20200921092725.png)
1818

1919
- 第一阶段:[`$match`](https://docs.mongodb.com/manual/reference/operator/aggregation/match/#pipe._S_match) 阶段按状态字段过滤 document,然后将状态等于“ A”的那些 document 传递到下一阶段。
2020
- 第二阶段:[`$group`](https://docs.mongodb.com/manual/reference/operator/aggregation/group/#pipe._S_group) 阶段按 cust_id 字段对 document 进行分组,以计算每个唯一 cust_id 的金额总和。
@@ -224,7 +224,7 @@ Pipeline 的内存限制为 100 MB。
224224
225225
Map-reduce 是一种数据处理范式,用于将大量数据汇总为有用的聚合结果。为了执行 map-reduce 操作,MongoDB 提供了 [`mapReduce`](https://docs.mongodb.com/manual/reference/command/mapReduce/#dbcmd.mapReduce) 数据库命令。
226226

227-
![img](https://raw.githubusercontent.com/dunwu/images/dev/snap/20200921155546.svg)
227+
![img](http://dunwu.test.upcdn.net/snap/20200921155546.svg)
228228

229229
在上面的操作中,MongoDB 将 map 阶段应用于每个输入 document(即 collection 中与查询条件匹配的 document)。 map 函数分发出多个键-值对。对于具有多个值的那些键,MongoDB 应用 reduce 阶段,该阶段收集并汇总聚合的数据。然后,MongoDB 将结果存储在 collection 中。可选地,reduce 函数的输出可以通过 finalize 函数来进一步汇总聚合结果。
230230

@@ -240,7 +240,7 @@ MongoDB 支持一下单一目的的聚合操作:
240240

241241
所有这些操作都汇总了单个 collection 中的 document。尽管这些操作提供了对常见聚合过程的简单访问,但是它们相比聚合 pipeline 和 map-reduce,缺少灵活性和丰富的功能性。
242242

243-
![img](https://raw.githubusercontent.com/dunwu/images/dev/snap/20200921155935.svg)
243+
![img](http://dunwu.test.upcdn.net/snap/20200921155935.svg)
244244

245245
## SQL 和 MongoDB 聚合对比
246246

@@ -371,7 +371,7 @@ db.orders.insertMany([
371371

372372
SQL 和 MongoDB 聚合方式对比:
373373

374-
![img](https://raw.githubusercontent.com/dunwu/images/dev/snap/20200921200556.png)
374+
![img](http://dunwu.test.upcdn.net/snap/20200921200556.png)
375375

376376
## 参考资料
377377

docs/nosql/mongodb/mongodb-crud.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ MongoDB 提供以下操作向一个 collection 插入 document
1717

1818
> 注:以上操作都是原子操作。
1919
20-
![](https://raw.githubusercontent.com/dunwu/images/dev/snap/20200924112342.svg)
20+
![](http://dunwu.test.upcdn.net/snap/20200924112342.svg)
2121

2222
插入操作的特性:
2323

@@ -66,7 +66,7 @@ db.inventory.insertMany([
6666

6767
MongoDB 提供 [`db.collection.find()`](https://docs.mongodb.com/manual/reference/method/db.collection.find/#db.collection.find) 方法来检索 document。
6868

69-
![](https://raw.githubusercontent.com/dunwu/images/dev/snap/20200924113832.svg)
69+
![](http://dunwu.test.upcdn.net/snap/20200924113832.svg)
7070

7171
### Update 操作
7272

@@ -82,7 +82,7 @@ MongoDB 提供以下操作来更新 collection 中的 document
8282
- [`db.collection.updateMany(<filter>, <update>, <options>)`](https://docs.mongodb.com/manual/reference/method/db.collection.updateMany/#db.collection.updateMany)
8383
- [`db.collection.replaceOne(<filter>, <update>, <options>)`](https://docs.mongodb.com/manual/reference/method/db.collection.replaceOne/#db.collection.replaceOne)
8484

85-
![](https://raw.githubusercontent.com/dunwu/images/dev/snap/20200924114043.svg)
85+
![](http://dunwu.test.upcdn.net/snap/20200924114043.svg)
8686

8787
【示例】插入测试数据
8888

@@ -191,7 +191,7 @@ MongoDB 提供以下操作来删除 collection 中的 document
191191
- [`db.collection.deleteOne()`](https://docs.mongodb.com/manual/reference/method/db.collection.deleteOne/#db.collection.deleteOne):删除一条 document
192192
- [`db.collection.deleteMany()`](https://docs.mongodb.com/manual/reference/method/db.collection.deleteMany/#db.collection.deleteMany):删除多条 document
193193

194-
![](https://raw.githubusercontent.com/dunwu/images/dev/snap/20200924120007.svg)
194+
![](http://dunwu.test.upcdn.net/snap/20200924120007.svg)
195195

196196
删除操作的特性:
197197

docs/nosql/mongodb/mongodb-index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212

1313
索引是特殊的数据结构,索引存储在一个易于遍历读取的数据集合中,索引是对数据库表中一列或多列的值进行排序的一种结构。
1414

15-
![](https://raw.githubusercontent.com/dunwu/images/dev/snap/20200921210621.svg)
15+
![](http://dunwu.test.upcdn.net/snap/20200921210621.svg)
1616

1717
### createIndex() 方法
1818

docs/nosql/mongodb/mongodb-model-example.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -371,7 +371,7 @@ review collection 存储所有的评论
371371

372372
## 树形结构模型
373373

374-
![img](https://raw.githubusercontent.com/dunwu/images/dev/snap/20200911194846.svg)
374+
![img](http://dunwu.test.upcdn.net/snap/20200911194846.svg)
375375

376376
### 具有父节点的树形结构模型
377377

@@ -525,7 +525,7 @@ db.categories.insertMany([
525525

526526
### 具有嵌套集的树形结构模型
527527

528-
![img](https://raw.githubusercontent.com/dunwu/images/dev/snap/20200911204252.svg)
528+
![img](http://dunwu.test.upcdn.net/snap/20200911204252.svg)
529529

530530
```javascript
531531
db.categories.insertMany([

docs/nosql/mongodb/mongodb-model.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ This looks very different from the tabular data structure you started with in St
125125

126126
嵌入式 document 通过将相关数据存储在单个 document 结构中来捕获数据之间的关系。 MongoDB document 可以将 document 结构嵌入到另一个 document 中的字段或数组中。这些非规范化的数据模型允许应用程序在单个数据库操作中检索和操纵相关数据。
127127

128-
![img](https://raw.githubusercontent.com/dunwu/images/dev/snap/20200910193231.png)
128+
![img](http://dunwu.test.upcdn.net/snap/20200910193231.png)
129129

130130
对于 MongoDB 中的很多场景,非规范化数据模型都是最佳的。
131131

@@ -137,7 +137,7 @@ This looks very different from the tabular data structure you started with in St
137137

138138
引用通过包含从一个 document 到另一个 document 的链接或引用来存储数据之间的关系。 应用程序可以解析这些引用以访问相关数据。 广义上讲,这些是规范化的数据模型。
139139

140-
![img](https://raw.githubusercontent.com/dunwu/images/dev/snap/20200910193234.png)
140+
![img](http://dunwu.test.upcdn.net/snap/20200910193234.png)
141141

142142
通常,在以下场景使用引用式的数据模型:
143143

0 commit comments

Comments
 (0)