This is an automated email from the ASF dual-hosted git repository.

menghaoran pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git


The following commit(s) were added to refs/heads/master by this push:
     new 46c8fd3  Fix images 404 in blogs (#15174)
46c8fd3 is described below

commit 46c8fd3821d3bd2f2349b38988df88e1c53d4ab3
Author: 吴伟杰 <[email protected]>
AuthorDate: Sat Jan 29 12:12:02 2022 +0800

    Fix images 404 in blogs (#15174)
---
 ...he_ShardingSphere_Enterprise_Applications.en.md | 16 +++++-----
 ..._Solution_Based_on_PostgreSQL_&_openGauss.en.md | 16 +++++-----
 ...ed_SQL_Statement_in_Apache_ShardingSphere.en.md | 36 +++++++++++-----------
 ...0_The_Ideal_Database_Management_Ecosystem.en.md |  6 ++--
 ...Sharding_Strategy_Based_on_Apache_ShardingS.md" | 34 ++++++++++----------
 ...ingSphere_Shadow_Database_Feature_Upgrade.en.md | 22 ++++++-------
 ...RDINGSPHERE\342\200\231S_OPERATING_MODES.en.md" | 14 ++++-----
 docs/blog/content/material/Nov_22_5.0.0_New.en.md  | 16 +++++-----
 .../Nov_23_1_Integrate_SCTL_into_RAL.en.md         | 26 ++++++++--------
 ...re\342\200\231s_Metadata_Loading_Process.cn.md" |  2 +-
 ...re\342\200\231s_Metadata_Loading_Process.en.md" |  4 +--
 ...ts_Participate_in_Open_Source_Communities.en.md |  4 +--
 ...inute_Quick_Start_Guide_to_ShardingSphere.cn.md |  4 +--
 ...inute_Quick_Start_Guide_to_ShardingSphere.en.md |  6 ++--
 ...phere_Hulu_Story_Data_Processing_Shortcut.cn.md |  2 +-
 ...r_Butler-Like_Sharding_Configuration_Tool.cn.md |  8 ++---
 ...r_Butler_Like_Sharding_Configuration_Tool.en.md | 10 +++---
 ...ere_One_of_the_Top_Distribution_Solutions.cn.md |  4 +--
 ...ere_One_of_the_Top_Distribution_Solutions.en.md |  2 +-
 ...dents_How_Was_Your_Open_Source_Experience.cn.md |  8 ++---
 ...dents_How_Was_Your_Open_Source_Experience.en.md | 10 +++---
 ...aitiao_Story_of_an_Implementation_Journey.cn.md |  6 ++--
 ...aitiao_Story_of_an_Implementation_Journey.en.md |  6 ++--
 23 files changed, 131 insertions(+), 131 deletions(-)

diff --git 
a/docs/blog/content/material/Jan_28_Blog_Apache_ShardingSphere_Enterprise_Applications.en.md
 
b/docs/blog/content/material/Jan_28_Blog_Apache_ShardingSphere_Enterprise_Applications.en.md
index 10f8470..3867156 100644
--- 
a/docs/blog/content/material/Jan_28_Blog_Apache_ShardingSphere_Enterprise_Applications.en.md
+++ 
b/docs/blog/content/material/Jan_28_Blog_Apache_ShardingSphere_Enterprise_Applications.en.md
@@ -15,11 +15,11 @@ Way back in 2018, Keep had already deployed ShardingSphere 
capabilities such as
 
 With the release of Apache ShardingSphere 5.0, the concept of Database Plus 
and pluggable architecture has to some extent, reshaped the ShardingSphere 
ecosystem. During our visit, we conducted in-depth exchanges and discussions 
with our counterparts at Keep.
 
-![1](../../static/img/Apache_ShardingSphere_Enterprise_Applications_img_1.jpg)
+![1](https://shardingsphere.apache.org/blog/img/Apache_ShardingSphere_Enterprise_Applications_img_1.jpg)
 
 Keep engineers expressed great interest in Apache ShardingSphere 5.0. At the 
event, Juan Pan, Apache ShardingSphere PMC and SphereEx CTO, presented a full 
overview of the initial ShardingSphere architecture, user-end access, community 
building and the [Database Plus 
concept](https://www.infoq.com/articles/next-evolution-of-database-sharding-architecture/).
 
-![2](../../static/img/Apache_ShardingSphere_Enterprise_Applications_img_2.jpg)
+![2](https://shardingsphere.apache.org/blog/img/Apache_ShardingSphere_Enterprise_Applications_img_2.jpg)
 <center>Apache SahrdingSphere PMC, Pan Juan</center>
 
 ## Database Plus: Freeing DBAs and Developers
@@ -39,14 +39,14 @@ DBAs are responsible for running the whole business and 
data system, including d
 If the middle layer can meet transaction traffic and understand the request, 
DBAs can modify the request accordingly and then more operations can be 
performed. Therefore, we need to strike a balance between the two sides of 
demand to carry transaction traffic and support database capacity building, 
thus creating an efficient, collaborative ecosystem between the two sides.
 Following the version 5.0 release, the sharding function is no longer at the 
core of Apache ShardingSphere. Actually, sharding has been “downgraded” to a 
secondary function in the ShardingSphere ecosystem. Following the Database Plus 
concept, Apache ShardingSphere has built a pluggable architecture ecosystem, 
enabling the middle layer to achieve more value-added capabilities.
 
-![3](../../static/img/Apache_ShardingSphere_Enterprise_Applications_img_3.png)
+![3](https://shardingsphere.apache.org/blog/img/Apache_ShardingSphere_Enterprise_Applications_img_3.png)
 <center>ShardingSphere’s Database Plus Architecture</center>
 
 Taking data encryption and decryption as an example, we can see how they are 
generally done at the business layer because [MySQL](https://www.mysql.com/) 
and other databases do not support encrypted algorithms themselves. This means 
encryption & decryption is only be achievable at application and business 
layers. However, this poses a problem if we consider complex online businesses 
that face considerable tasks when they upgrade their encryption algorithms.
 
 The best solution to this problem is to encrypt and decrypt data at the middle 
layer. 
[ShardingSphere-Proxy](https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/)
 can be directly bound to databases, be placed at the middle layer between 
applications and underlying databases. ShardingSphere-proxy will feel “DB-like” 
by taking advantage of protocols that are compatible with different databases, 
thus deciding which node the SQL quest will fall on, letting  [...]
 
-![4](../../static/img/Apache_ShardingSphere_Enterprise_Applications_img_4.jpeg)
+![4](https://shardingsphere.apache.org/blog/img/Apache_ShardingSphere_Enterprise_Applications_img_4.jpeg)
 <center>ShardingSphere Encryption & Decryption Capability</center>
 
 As such, the ShardingSphere encryption and decryption process can be separated 
from the existing system of applications and databases and can be linked with 
special encryption algorithms, especially in the cases where a cipher machine 
is involved. ShardingSphere capabilities such as encryption can free 
significant amounts of DBAs’ and developers’ time, allowing them to focus more 
on businesses.
@@ -57,7 +57,7 @@ As such, the ShardingSphere encryption and decryption process 
can be separated f
 
 In November 2021, a team from the ShardingSphere community visited iQiyi the 
innovation center of iQiyi for in-depth interactions and discussions with their 
counterparts from Beijing and Shanghai. During the meetup, Zhang Liang, Apache 
ShardingSphere PMC Chair and SphereEx Founder, provided details on the latest 
Apache ShardingSphere community initiatives, its future development and 
Database Mesh.
 
-![5](../../static/img/Apache_ShardingSphere_Enterprise_Applications_img_5.jpg)
+![5](https://shardingsphere.apache.org/blog/img/Apache_ShardingSphere_Enterprise_Applications_img_5.jpg)
 
 During the meetup, iQiyi was especially interested in the capabilities and 
future plans of ShardingSphere and Database Mesh. here are some key takeaway 
questions from the visit:
 
@@ -111,14 +111,14 @@ Facing diverse users' needs and increasingly diversified 
products in the databas
 
 By creating upper-level standards and ecosystems for heterogeneous databases, 
Apache ShardingSphere provides diversified functions that can precisely meet 
enterprise needs. As an ecosystem consisting of multiple adapters, by using a 
hybrid deployment model of ShardingSphere-JDBC and ShardingSphere-Proxy, Apache 
ShardingSphere enables users to configure sharding strategies through one 
console and to flexibly create application systems that suit the needs in 
different scenarios. This allow [...]
 
-![6](../../static/img/Apache_ShardingSphere_Enterprise_Applications_img_6.jpeg)
+![6](https://shardingsphere.apache.org/blog/img/Apache_ShardingSphere_Enterprise_Applications_img_6.jpeg)
 <center>ShardingSphere’s Deployment Architecture</center>
 
 Centering around connections, incremental and pluggable features, and based on 
a pluggable architecture, Apache ShardingSphere creates a powerful kernel 
architecture in the form of micro-kernel.
 
 Based on its powerful kernel capabilities, Apache ShardingSphere products can 
provide users with ideal solutions for distributed database, data security, 
database gateway and [full-link stress 
testing](https://blog.devgenius.io/full-link-online-stress-testing-for-production-database-apache-shardingsphere-shadow-database-84f7cba56f99),
 helping increase the efficiency of enterprises and users.
 
-![7](../../static/img/Apache_ShardingSphere_Enterprise_Applications_img_7.jpeg)
+![7](https://shardingsphere.apache.org/blog/img/Apache_ShardingSphere_Enterprise_Applications_img_7.jpeg)
 <center>Overview of Apache ShardingSphere’s Functions</center>
 
 When it comes to future optimization, Pan believes that some deficiencies 
remain in Apache ShardingSphere’s performance and this is particularly true for 
ShardingSphere-Proxy’s adaptor. In the future, the community will double down 
on improving its kernel, minimizing business and data performance loss of the 
Proxy, improving routing and rewriting logic, reducing creating database 
objects, and avoiding excess young GC.
@@ -141,7 +141,7 @@ Apache ShardingSphere Contributor
 
 Passionate about technology and innovation, Yacine moved to Beijing to pursue 
his Ph.D. in Business Administration, and fell in awe of the local startup and 
tech scene. His career path has so far been shaped by opportunities at the 
intersection of technology and business. Recently he took on a keen interest in 
the development of the ShardingSphere database middleware ecosystem and 
Open-Source community building.
 
-![8](../../static/img/Yacine_Si_Tayeb_Photo_1.png)
+![8](https://shardingsphere.apache.org/blog/img/Yacine_Si_Tayeb_Photo_1.png)
 
 
 
diff --git 
a/docs/blog/content/material/Jan_28_Blog_PG_Create_a_Distributed_Database_Solution_Based_on_PostgreSQL_&_openGauss.en.md
 
b/docs/blog/content/material/Jan_28_Blog_PG_Create_a_Distributed_Database_Solution_Based_on_PostgreSQL_&_openGauss.en.md
index b85b400..07310ac 100644
--- 
a/docs/blog/content/material/Jan_28_Blog_PG_Create_a_Distributed_Database_Solution_Based_on_PostgreSQL_&_openGauss.en.md
+++ 
b/docs/blog/content/material/Jan_28_Blog_PG_Create_a_Distributed_Database_Solution_Based_on_PostgreSQL_&_openGauss.en.md
@@ -20,7 +20,7 @@ This article will introduce improvements to the 
ShardingSphere-Proxy 5.0.0 built
 
 ShardingSphere-Proxy is an adapter in the ShardingSphere ecosystem and is 
positioned as a transparent database proxy to users. ShardingSphere Proxy is 
not limited to Java. Instead, it realizes MySQL and PostgreSQL database 
protocols, and users can use various clients compatible with MySQL / PostgreSQL 
protocols to access and manipulate data.
 
-![](../../static/img/PostgreSQL_openGauss_img_1.png)
+![](https://shardingsphere.apache.org/blog/img/PostgreSQL_openGauss_img_1.png)
 
 
 |       | ShardingSphere-JDBC | ShardingSphere-Proxy     |
@@ -43,7 +43,7 @@ However, since ShardingSphere-Proxy has an extra layer of 
network interaction co
 ## ShardingSphere-Proxy and PostgreSQL Ecosystem Integration
 
 
-![Be compatible with PostgreSQL Simple Query and Extended 
Query](../../static/img/PostgreSQL_openGauss_img_2.png)
+![Be compatible with PostgreSQL Simple Query and Extended 
Query](https://shardingsphere.apache.org/blog/img/PostgreSQL_openGauss_img_2.png)
 
 Simple Query and Extended Query are the most common protocols for most users 
using PostgreSQL. For instance, when using the following command line tool 
`psql` to connect PostgreSQL for CRUD operation, the Simple Query is often used 
to interact with the database.
 
@@ -58,7 +58,7 @@ postgres=# select id, name from person where age < 35;
 
 The protocol interaction diagram of Simple Query is as follows:
 
-![3](../../static/img/PostgreSQL_openGauss_img_3.png)
+![3](https://shardingsphere.apache.org/blog/img/PostgreSQL_openGauss_img_3.png)
 
 When using PostgreSQL JDBC Driver and other drivers, code is as follows 
PreparedStatement, which corresponds to the Extended Query protocol in default.
 
@@ -69,7 +69,7 @@ ResultSet resultSet = ps.executeQuery();`
 
 The protocol interaction diagram of Extended Query is as follows:
 
-![4](../../static/img/PostgreSQL_openGauss_img_4.png)
+![4](https://shardingsphere.apache.org/blog/img/PostgreSQL_openGauss_img_4.png)
 
 Currently, ShardingSphere PostgreSQL Proxy realizes protocols of Simple Query 
with the most Extended Query. However, since database client end and driver 
have encapsulated API for users to use, users do not need to worry about 
database protocols.
 
@@ -109,11 +109,11 @@ At the PostgreSQL protocol layer, `Bind` can transfer one 
set of parameters to f
 
 Batch insertion could be realized through the repetition of `Bind` and 
`Execute`. The protocol interaction diagram is as follows:
 
-![PostgreSQL Batch Insertion](../../static/img/PostgreSQL_openGauss_img_5.png)
+![PostgreSQL Batch 
Insertion](https://shardingsphere.apache.org/blog/img/PostgreSQL_openGauss_img_5.png)
 
 `Batch Bind` is a message exclusive to openGauss. Compared with `Bind`, `Batch 
Bind` can transfer multiple sets of parameters at a time. The protocol 
interaction diagram using `Batch Bind` to perform batch insertion is as follows:
 
-![openGauss Batch Insertion](../../static/img/PostgreSQL_openGauss_img_6.png)
+![openGauss Batch 
Insertion](https://shardingsphere.apache.org/blog/img/PostgreSQL_openGauss_img_6.png)
 
 ShardingSphere-Proxy openGauss supports Batch Bind protocol, meaning that 
**users could use the openGauss client end or driver to perform batch insertion 
of the ShardingSphere Proxy.**
 
@@ -125,7 +125,7 @@ ShardingSphere-Proxy is a transparent database proxy, which 
means that users do
 
 In the picture below, when configuring logic database `sharding_db` and logic 
table `person` ShardingSphere-Proxy, there are four tables in two databases 
behind Proxy.
 
-![](../../static/img/PostgreSQL_openGauss_img_7.png)
+![](https://shardingsphere.apache.org/blog/img/PostgreSQL_openGauss_img_7.png)
 
 Currently, when executing `show schemas` and `show tables` languages in 
ShardingSphere MySQL Proxy, the query results are listed as logic database 
`sharding_db` and logic table `person`.
 
@@ -173,4 +173,4 @@ GitHub: https://github.com/apache/shardingsphere
 
 >Apache ShardingSphere Committer & Middleware Engineer at SphereEx. 
 >Contributed to the development of Apache ShardingSphere and Apache 
 >ShardingSphere ElasticJob.
 
-![](../../static/img/Wu_Weijie_Photo.png)
+![](https://shardingsphere.apache.org/blog/img/Wu_Weijie_Photo.png)
diff --git a/docs/blog/content/material/Jan_28_Blog_X_How_to 
Develop_Your_Distributed_SQL_Statement_in_Apache_ShardingSphere.en.md 
b/docs/blog/content/material/Jan_28_Blog_X_How_to 
Develop_Your_Distributed_SQL_Statement_in_Apache_ShardingSphere.en.md
index aab5c40..552e60c 100644
--- a/docs/blog/content/material/Jan_28_Blog_X_How_to 
Develop_Your_Distributed_SQL_Statement_in_Apache_ShardingSphere.en.md     
+++ b/docs/blog/content/material/Jan_28_Blog_X_How_to 
Develop_Your_Distributed_SQL_Statement_in_Apache_ShardingSphere.en.md     
@@ -34,17 +34,17 @@ Therefore, DistSQL provides a syntax structure and syntax 
validation system simi
 
 + First, choose the right Test Rule:
 
-![](../../static/img/DistSQL_Statement_Development_img_1.png)
+![](https://shardingsphere.apache.org/blog/img/DistSQL_Statement_Development_img_1.png)
 
 + Input the statement to be verified in ANTLR Preview:
 
-![](../../static/img/DistSQL_Statement_Development_img_2.png)
+![](https://shardingsphere.apache.org/blog/img/DistSQL_Statement_Development_img_2.png)
 
 You need to know the DistSQL execution process as well as the basics of 
synatics and plug-ins. The complete DistSQL execution process is truly 
complicated, but the awesome architecture of ShardingSphere allows developers 
to develop DistSQL features without having to pay attention to the whole 
process.
 
 However, you still need to take care of the following core procedures:
 
-![](../../static/img/DistSQL_Statement_Development_img_3.png)
+![](https://shardingsphere.apache.org/blog/img/DistSQL_Statement_Development_img_3.png)
 
 _Note: Here, we take data sharding as an example. Be aware that different 
features have different visitors._
 
@@ -74,13 +74,13 @@ show sharding tables count [from schema] ;
 
 Add the following statement definition into the file 
`src/main/antlr4/imports/sharding/RQLStatement.g4`. When it’s done, you can use 
ANTLR v4 to test it.
 
-![](../../static/img/DistSQL_Statement_Development_img_4.png)
+![](https://shardingsphere.apache.org/blog/img/DistSQL_Statement_Development_img_4.png)
 
 Please ensure that all keywords in that statement are defined. For example, 
`COUNT` is an undefined statement here, so you need to define it in 
`src/main/antlr4/imports/sharding/Keyword.g4'`.
 
 After you define the statement, you also need to add it into the file 
`ShardingDistSQLStatement.g4`.  It's for the parsing router.
 
-![](../../static/img/DistSQL_Statement_Development_img_5.png)
+![](https://shardingsphere.apache.org/blog/img/DistSQL_Statement_Development_img_5.png)
 
 Now, it’s time to use  `shardingsphere-sharding-distsql-parser` to compile and 
generate the relevant objects.
 
@@ -88,11 +88,11 @@ Now, it’s time to use  
`shardingsphere-sharding-distsql-parser` to compile and
 
 Then you also need to add a DistSQLStatement object of the definition in 
`shardingsphere-distsql-statement` to save the variable attributes of the 
statement. For example, the `schemaName` of the statement definition needs to 
be saved to the object `DistSQLStatement`.
 
-![](../../static/img/DistSQL_Statement_Development_img_6.png)
+![](https://shardingsphere.apache.org/blog/img/DistSQL_Statement_Development_img_6.png)
 
 Since ShardingSphere uses ANTLR’s Visitor mode, in terms of definition 
handling, it is required to rewrite `visitShowShardingTableCount` in 
`ShardingDistSQLStatementVisitor`. The purpose of this method is to create a 
`ShowShardingTablesCountStatement` object and save the related variable 
attributes to the object  `DistSQLStatement`.
 
-![](../../static/img/DistSQL_Statement_Development_img_7.png)
+![](https://shardingsphere.apache.org/blog/img/DistSQL_Statement_Development_img_7.png)
 
 `shardingsphere-distsql-statement` actually depends on 
`shardingsphere-sharding-distsql-parser`, so it's necessary to compile 
`shardingsphere-distsql-statement`.
 
@@ -102,13 +102,13 @@ Data handling is managed by the `execute`method of 
`Handler` or `Executor`, and
 
 Show the execution method and the `DistSQLResultSet` as shown in the below 
image:
 
-![](../../static/img/DistSQL_Statement_Development_img_8.png)
+![](https://shardingsphere.apache.org/blog/img/DistSQL_Statement_Development_img_8.png)
 
-![](../../static/img/DistSQL_Statement_Development_img_9.png)
+![](https://shardingsphere.apache.org/blog/img/DistSQL_Statement_Development_img_9.png)
 
 In `ShardingTablesCountResultSet`, `init` gets and assembles data, and 
`getRowData` returna row data. `getType` is also obviously in the class. The 
method belongs to the `TypedSPI` interface, so `ShardingTablesCountResultSet` 
also needs to add 
`org.apache.shardingsphere.infra.distsql.query.DistSQLResultSet` into the 
directory `src/main/resources/META-INF/services` of the current module to 
complete the SPI injection. The path and content are as follows:
 
-![](../../static/img/DistSQL_Statement_Development_img_10.png)
+![](https://shardingsphere.apache.org/blog/img/DistSQL_Statement_Development_img_10.png)
 
 Now, you have successfully developed the feature of this statement definition.
 
@@ -117,33 +117,33 @@ Now, you have successfully developed the feature of this 
statement definition.
 When you complete the basic feature development, to ensure its continuous 
usability, you need to add test cases to the new class or method, and to 
complete parse tests for the new syntax. The following code block is the unit 
test of
 `ShardingTablesCountResultSet`.
 
-![](../../static/img/DistSQL_Statement_Development_img_11.png)
+![](https://shardingsphere.apache.org/blog/img/DistSQL_Statement_Development_img_11.png)
 
 In addition to the unit test, you are also required to complete a parsing test 
for the grammar definition in `shardingsphere-parser-test`. The purpose is to 
parse the input DistSQL into a `DistSQLStatement` and then compare the parsed 
statement with your expected `TestCase` object. The steps are as follows:
 
 a. Add the SQL you want to test in 
`src/main/resources/sql/supported/rql/show.xml`;
 
-![](../../static/img/DistSQL_Statement_Development_img_12.png)
+![](https://shardingsphere.apache.org/blog/img/DistSQL_Statement_Development_img_12.png)
 
 b. Add a test case in `src/main/resources/case/rql/show.xml`;
 
-![](../../static/img/DistSQL_Statement_Development_img_13.png)
+![](https://shardingsphere.apache.org/blog/img/DistSQL_Statement_Development_img_13.png)
 
 c. Add a `TestCase` object whose function is to save the result defined in the 
case
 
-![](../../static/img/DistSQL_Statement_Development_img_14.png)
+![](https://shardingsphere.apache.org/blog/img/DistSQL_Statement_Development_img_14.png)
 
 d. Use the `SQLParserTestCases` class to load `TestCase`;
 
-![](../../static/img/DistSQL_Statement_Development_img_15.png)
+![](https://shardingsphere.apache.org/blog/img/DistSQL_Statement_Development_img_15.png)
 
 e. Add the right `Assert` object to the `ShowRulesStatementAssert` judgment
 
-![](../../static/img/DistSQL_Statement_Development_img_16.png)
+![](https://shardingsphere.apache.org/blog/img/DistSQL_Statement_Development_img_16.png)
 
 f. Execute the test method in `DistSQLParserParameterizedTest`. Now,the test 
comes to an end.
 
-![](../../static/img/DistSQL_Statement_Development_img_17.png)
+![](https://shardingsphere.apache.org/blog/img/DistSQL_Statement_Development_img_17.png)
 
 Finally, you can execute the developed DistSQL verification function by using 
command line tools.
 
@@ -156,7 +156,7 @@ If you’re interested, you are welcome to develop the 
grammar system or provide
 
 Lan Chengxiang
 
-![](../../static/img/Lan_Chengxiang_Photo.png)
+![](https://shardingsphere.apache.org/blog/img/Lan_Chengxiang_Photo.png)
 
 > SphereEx Middleware Development Engineer & Apache ShardingSphere 
 > Contributor. He focuses on designing and developing DistSQL.
 
diff --git 
a/docs/blog/content/material/Jan_28_Blog_X_Kernel_Optimizations_&_Upgrade_Guide_for_Apache_ShardingSphere_5.0.0_The_Ideal_Database_Management_Ecosystem.en.md
 
b/docs/blog/content/material/Jan_28_Blog_X_Kernel_Optimizations_&_Upgrade_Guide_for_Apache_ShardingSphere_5.0.0_The_Ideal_Database_Management_Ecosystem.en.md
index 5e26825..b3ed21e 100644
--- 
a/docs/blog/content/material/Jan_28_Blog_X_Kernel_Optimizations_&_Upgrade_Guide_for_Apache_ShardingSphere_5.0.0_The_Ideal_Database_Management_Ecosystem.en.md
+++ 
b/docs/blog/content/material/Jan_28_Blog_X_Kernel_Optimizations_&_Upgrade_Guide_for_Apache_ShardingSphere_5.0.0_The_Ideal_Database_Management_Ecosystem.en.md
@@ -29,7 +29,7 @@ ShardingSphere can provide users with management services and 
enhanced features
 
 The emergence of the Database Plus concept indicates that ShardingSphere has 
evolved from a middleware into an innovative distributed database ecosystem. 
Since we set Database Plus as our new direction and there are many extension 
points in our pluggable system, having a pluggable kernel was a given. The 
figure below illustrates the new pluggable Kernel:
 
-![Version Comparison](../../static/img/kernel_img_1.png)
+![Version 
Comparison](https://shardingsphere.apache.org/blog/img/kernel_img_1.png)
 
 All of Apache ShardingSphere kernel’s processes (i.e. metadata loader, SQL 
parser, SQL router, SQL rewriter, and SQL executor & result merger) provide 
extension points on which ShardingSphere implements default features such as 
data sharding, read/write splitting, encryption & decryption, shadow database 
stress testing, and high availability.
 
@@ -78,7 +78,7 @@ In this article, we’d like to showcase some practical 
examples and showcase ho
 
 Federation Execution Engine is another spotlight of the 5.0.0 GA version’s 
kernel. We aim to support distributed query statements that don’t work in the 
4.1.1 GA version, such as cross-database instances related queries and 
subqueries. Thanks to the Federation Execution Engine, developers no longer 
need to worry about the usage scope of SQLs, and they can concentrate on their 
business function development, reducing function limitations at the business 
level.
 
-![Federation Execution Engine Flow](../../static/img/kernel_img_2.png)
+![Federation Execution Engine 
Flow](https://shardingsphere.apache.org/blog/img/kernel_img_2.png)
 
 The figure above illustrates the flow of the Federation Execution Engine. In 
general, the flow still follows the sequence: SQL Parser, SQL Router, SQL 
Rewriter, and then SQL Executor. The only different step is the additional SQL 
Optimizer used in the Federation Execution Engine. The optimizer contains RBO 
(Rule-Based Optimizer) and CBO (Cost-Based Optimizer) to optimize distributed 
query statements and get the execution plan with minimal cost. In the SQL 
Router, the router engine analyz [...]
 
@@ -710,7 +710,7 @@ Contributor 
Guide:https://shardingsphere.apache.org/community/cn/contribute/
 
 **Duan Zhengqiang**
 
-![](../../static/img/Duan_Zhengqiang.png)
+![](https://shardingsphere.apache.org/blog/img/Duan_Zhengqiang.png)
 
 > SphereEx Senior Middleware Development Engineer & Apache ShardingSphere 
 > Committer
 
diff --git 
"a/docs/blog/content/material/Jan_28_F6_Automobile_Technology\342\200\231s_Multimillion_Rows_of_Data_Sharding_Strategy_Based_on_Apache_ShardingS.md"
 
"b/docs/blog/content/material/Jan_28_F6_Automobile_Technology\342\200\231s_Multimillion_Rows_of_Data_Sharding_Strategy_Based_on_Apache_ShardingS.md"
index f6f93ac..59b148a 100644
--- 
"a/docs/blog/content/material/Jan_28_F6_Automobile_Technology\342\200\231s_Multimillion_Rows_of_Data_Sharding_Strategy_Based_on_Apache_ShardingS.md"
+++ 
"b/docs/blog/content/material/Jan_28_F6_Automobile_Technology\342\200\231s_Multimillion_Rows_of_Data_Sharding_Strategy_Based_on_Apache_ShardingS.md"
@@ -72,7 +72,7 @@ Table sharding uid value % 32 database sharding uid value % 1`
 
 The last two digits (i.e. 83) are used for database sharding, of which 
temporary data is only sharded into the library f6xxx, so the remainder is 0. 
Later, increasing data volume can be expanded to multiple libraries. The 
remaining value 105450559179996689 is used for table sharding. At first time, 
it is divided into 32 single tables so the modulo remainders correspond to the 
specific sharding table subscripts are 0~31.
 
-![1](../../static/img/F6_Automobile_img_1.png)
+![1](https://shardingsphere.apache.org/blog/img/F6_Automobile_img_1.png)
 
 Given that the business system is growing and we adopt rapid iteration method 
to develop features step by step, we plan to shard tables first and then do 
database sharding.
 
@@ -107,7 +107,7 @@ Plan 1: Use other keys such as snowflake
 
 Plan 2: Implement an incremental component (database or Redis) all by ourselves
 
-![2](../../static/img/F6_Automobile_img_2.png)
+![2](https://shardingsphere.apache.org/blog/img/F6_Automobile_img_2.png)
 
 After comparing the two solutions and the business condition, we decided to 
choose Plan 2 and concurrently, provided a new comprehensive table-level ID 
generator solution.
 
@@ -134,13 +134,13 @@ In order to ensure quick roll-back when problems caused 
by new feature releases
 
 **Plan 1:** Maintain two sets of Mapper interfaces: one uses Sharding-JDBC 
data sources to connect to databases while the other uses JDBC data sources to 
connect to databases. At the service layer, it’s necessary to select one of the 
two interfaces based on the decision workflow diagram below:
 
-![3](../../static/img/F6_Automobile_img_3.png)
+![3](https://shardingsphere.apache.org/blog/img/F6_Automobile_img_3.png)
 
 However, the solution causes another problem: all codes visiting the Mapper 
layer have an if else branch, resulting in major business code changes, 
potential code intrusion, and harder code maintenance. Therefore, we found 
another solution and we call it Plan 2.
 
 **Plan 2 — Adaptive Mapper Selection Plan:** one set of Mapper interface is 
with two data sources and two sets of implementations. Based on the grayscale 
configuration, different client requests will go through different Mapper 
implementations, and one service corresponds to two data sources and two sets 
of transaction managers, and based on the grayscale configuration, different 
clients’ requests go to different transaction managers. Accordingly, we 
leverage multiple Mapper scanners of  [...]
 
-![4](../../static/img/F6_Automobile_img_4.png)
+![4](https://shardingsphere.apache.org/blog/img/F6_Automobile_img_4.png)
 
 ***Data Source Connection Switch***
 
@@ -154,7 +154,7 @@ Apache ShardingSphere already lists some grammars currently 
not supported by Sha
 - No such statement for batch updates.
 - Even if `UNION ALL` does not support the grayscale release plan, we only 
need to copy a set of mapper.xml, and modify it based on the syntax of 
Sharding-JDBC before release.
 
-![5](../../static/img/F6_Automobile_img_5.png)
+![5](https://shardingsphere.apache.org/blog/img/F6_Automobile_img_5.png)
 
 ***Historical Data Sync***
 
@@ -162,7 +162,7 @@ Apache ShardingSphere already lists some grammars currently 
not supported by Sha
 
 The data synchronization framework DataX can abstract the synchronization of 
different data sources as a Reader Plugin that reads data from the data source, 
and then as a Writer Plugin that writes data to the target. In theory, the 
DataX framework can support data synchronization of all data source types. 
Additionally, the DataX plugin ecosystem can allow every newly-added data 
source to immediately interact with the old data sources.
 
-![6](../../static/img/F6_Automobile_img_6.png)
+![6](https://shardingsphere.apache.org/blog/img/F6_Automobile_img_6.png)
 
 ***Verify Data Synchronization***
 
@@ -189,11 +189,11 @@ Note: the execution results of `show master status` of 
master and slave may be d
 
 Our greyscale switch plan is shown below:
 
-![7](../../static/img/F6_Automobile_img_7.png)
+![7](https://shardingsphere.apache.org/blog/img/F6_Automobile_img_7.png)
 
 We chose the grayscale release solution, which means it was necessary to 
ensure real-time data updates in both subtables and parent tables. Therefore, 
all data was synchronized in two directions: for clients with grayscale release 
being on, reads and writes went to subtables and the data was synchronized to 
parent tables in real time via Otter, while for clients with grayscale release 
being off, reads and writes went to parent tables and the data is synchronized 
to subtables in real time [...]
 
-![8](../../static/img/F6_Automobile_img_8.png)
+![8](https://shardingsphere.apache.org/blog/img/F6_Automobile_img_8.png)
 
 **Database Sharding Details**
 
@@ -220,27 +220,27 @@ To avoid potential performance and compatibility 
problems, database change plan
 
 **Status Quo:** four application instances +one master db and two slave db
 
-![9](../../static/img/F6_Automobile_img_9.png)
+![9](https://shardingsphere.apache.org/blog/img/F6_Automobile_img_9.png)
 
 **Step 1:** add a new application instance and switch it to RDS, write into or 
pass dms master database, and the data in dms master database will be synced to 
rds in real time
 
-![10](../../static/img/F6_Automobile_img_10.png)
+![10](https://shardingsphere.apache.org/blog/img/F6_Automobile_img_10.png)
 
 **Step 2:** add three more application instances, and cut 50% of the data to 
write into rds database
 
-![11](../../static/img/F6_Automobile_img_11.png)
+![11](https://shardingsphere.apache.org/blog/img/F6_Automobile_img_11.png)
 
 **Step 3:** remove the four original instance traffic, and read them into rds 
instances while writing still goes into dms master database
 
-![12](../../static/img/F6_Automobile_img_12.png)
+![12](https://shardingsphere.apache.org/blog/img/F6_Automobile_img_12.png)
 
 **Step 4:** switch the master database into rds, and rds data will be 
reversely synced to dms master database to make it easier for the quick 
rollback of the data
 
-![13](../../static/img/F6_Automobile_img_13.png)
+![13](https://shardingsphere.apache.org/blog/img/F6_Automobile_img_13.png)
 
 **Step 5:** Completion
 
-![14](../../static/img/F6_Automobile_img_14.png)
+![14](https://shardingsphere.apache.org/blog/img/F6_Automobile_img_14.png)
 
 Each step mentioned above can be quickly rolled back through traffic switching 
so as to ensure the availability and stability of system.
 
@@ -248,11 +248,11 @@ Each step mentioned above can be quickly rolled back 
through traffic switching s
 
 When the performance of a single database reaches a plateau, we can scale out 
the database by modifying sharding database routing algorithms and migrating 
data.
 
-![15](../../static/img/F6_Automobile_img_15.png)
+![15](https://shardingsphere.apache.org/blog/img/F6_Automobile_img_15.png)
 
 When the capacity of a single table reaches its maximum size, we can scale out 
the table by modifying sharding table routing algorithms and migrating data.
 
-![16](../../static/img/F6_Automobile_img_16.png)
+![16](https://shardingsphere.apache.org/blog/img/F6_Automobile_img_16.png)
 
 **FAQ**
 
@@ -315,7 +315,7 @@ Apache ShardingSphere Contributor
 
 Passionate about technology and innovation, Yacine moved to Beijing to pursue 
his Ph.D. in Business Administration, and fell in awe of the local startup and 
tech scene. His career path has so far been shaped by opportunities at the 
intersection of technology and business. Recently he took on a keen interest in 
the development of the ShardingSphere database middleware ecosystem and 
Open-Source community building.
 
-![](../../static/img/Yacine_Si_Tayeb_Photo.png)
+![](https://shardingsphere.apache.org/blog/img/Yacine_Si_Tayeb_Photo.png)
 
 
 
diff --git 
a/docs/blog/content/material/Jan_28_Full_Link_Online_Stress_Testing_for_Production_Database_Apache_ShardingSphere_Shadow_Database_Feature_Upgrade.en.md
 
b/docs/blog/content/material/Jan_28_Full_Link_Online_Stress_Testing_for_Production_Database_Apache_ShardingSphere_Shadow_Database_Feature_Upgrade.en.md
index 96adafe..402ef7b 100644
--- 
a/docs/blog/content/material/Jan_28_Full_Link_Online_Stress_Testing_for_Production_Database_Apache_ShardingSphere_Shadow_Database_Feature_Upgrade.en.md
+++ 
b/docs/blog/content/material/Jan_28_Full_Link_Online_Stress_Testing_for_Production_Database_Apache_ShardingSphere_Shadow_Database_Feature_Upgrade.en.md
@@ -35,17 +35,17 @@ Shadow database function was initially realized in version 
4.1.0 by adding a log
 1. Before performing stress testings, users need to modify test-related SQL 
according to actual business needs.
 2. SQL modification will increase implementation damage and reduce the 
accuracy of stress testing results. After discussion in the ShardingSphere 
community, we decided to upgrade shadow database functions. Apache 
ShardingSphere 4.1.1 GA shadow database API had relatively simple 
functionaloity. Whether to open shadow database is determined by corresponding 
values of the logicColumn.
 
-![1](../../static/img/Full_Link_Online_Stress_Testing_img_1.png)
+![1](https://shardingsphere.apache.org/blog/img/Full_Link_Online_Stress_Testing_img_1.png)
 
 The upgraded shadow database API of 5.0.0 GA is more powerful. Users can 
determine whether the shadow database function is enabled through the “enable” 
attribute. Configurable shadow table can determine what needs to be stress 
tested by means of a table, and supports multiple shadow algorithms. For 
example, column value matching algorithm, regular expression matching and SQL 
comment matching algorithm.
 
-![2](../../static/img/Full_Link_Online_Stress_Testing_img_2.png)
+![2](https://shardingsphere.apache.org/blog/img/Full_Link_Online_Stress_Testing_img_2.png)
 
 ## Shadow Database in Practice
 
 Online full-link stress testing diagram:
 
-![3](../../static/img/Full_Link_Online_Stress_Testing_img_3.jpeg)
+![3](https://shardingsphere.apache.org/blog/img/Full_Link_Online_Stress_Testing_img_3.jpeg)
 
 ### Prepare stress testing environment:
 Suppose an e-commerce website needs to perform online stress testing for an 
order (demonstrating how to use stand-alone deployment). Suppose stress testing 
table `t_order` is an order table, and the ID of the test user is 0.
@@ -59,11 +59,11 @@ The data generated by test user order is executed on 
ds_shadow shadow database,
 
 **server.yaml**
 
-![4](../../static/img/Full_Link_Online_Stress_Testing_img_4.png)
+![4](https://shardingsphere.apache.org/blog/img/Full_Link_Online_Stress_Testing_img_4.png)
 
 **config-shadow.yaml**
 
-![5](../../static/img/Full_Link_Online_Stress_Testing_img_5.jpg)
+![5](https://shardingsphere.apache.org/blog/img/Full_Link_Online_Stress_Testing_img_5.jpg)
 
 3. Order service
 
@@ -71,16 +71,16 @@ Order-related businesses are not discussed here. 
Considering the simplest reques
 
 - Order Table Structure
 
-![6](../../static/img/Full_Link_Online_Stress_Testing_img_6.png)
+![6](https://shardingsphere.apache.org/blog/img/Full_Link_Online_Stress_Testing_img_6.png)
 
 ### Stress Testing Process Simulation
 - Use `postman` to simulate the order created by test user, which is as 
follows:
 
-![7](../../static/img/Full_Link_Online_Stress_Testing_img_7.png)
+![7](https://shardingsphere.apache.org/blog/img/Full_Link_Online_Stress_Testing_img_7.png)
 
 - SQL executor being routed to and executed in shadow database can be seen in 
ShardingSphere-Proxy execution log:
 
-![8](../../static/img/Full_Link_Online_Stress_Testing_img_8.png)
+![8](https://shardingsphere.apache.org/blog/img/Full_Link_Online_Stress_Testing_img_8.png)
 
 ### Verify Stress Testing Results :
 
@@ -88,13 +88,13 @@ Order-related businesses are not discussed here. 
Considering the simplest reques
 
 Query result:
 
-![9](../../static/img/Full_Link_Online_Stress_Testing_img_9.png)
+![9](https://shardingsphere.apache.org/blog/img/Full_Link_Online_Stress_Testing_img_9.png)
 
 - Production database ds executes query sentence `SELECT * FROM t_order;` 
 
 Query result:
 
-![10](../../static/img/Full_Link_Online_Stress_Testing_img_10.png)
+![10](https://shardingsphere.apache.org/blog/img/Full_Link_Online_Stress_Testing_img_10.png)
 
 The data generated from test user order creation will be routed to shadow 
database. For more complicated configurations, please refer to Shadow Database 
Stress Testing in the [ShardingSphere official 
document](https://shardingsphere.apache.org/document/5.0.0/cn/features/shadow/).
 
@@ -125,7 +125,7 @@ HouYang
 > 
 > Currently he focuses on the design and development of ShadowDB and full-link 
 > stress testing.
 
-![](../../static/img/Hou_Yang_Photo.png)
+![](https://shardingsphere.apache.org/blog/img/Hou_Yang_Photo.png)
 
 
 
diff --git 
"a/docs/blog/content/material/Jan_28_YOUR_DETAILED_GUIDE_TO_APACHE_SHARDINGSPHERE\342\200\231S_OPERATING_MODES.en.md"
 
"b/docs/blog/content/material/Jan_28_YOUR_DETAILED_GUIDE_TO_APACHE_SHARDINGSPHERE\342\200\231S_OPERATING_MODES.en.md"
index ac7f87f..b35b26b 100644
--- 
"a/docs/blog/content/material/Jan_28_YOUR_DETAILED_GUIDE_TO_APACHE_SHARDINGSPHERE\342\200\231S_OPERATING_MODES.en.md"
+++ 
"b/docs/blog/content/material/Jan_28_YOUR_DETAILED_GUIDE_TO_APACHE_SHARDINGSPHERE\342\200\231S_OPERATING_MODES.en.md"
@@ -14,7 +14,7 @@ This article is a guide for you to better understand 
ShardingSphere’s new oper
 
 Distributed governance is the foundation of cluster deployment in 
ShardingSphere. In previous versions, users needed to configure the governance 
tag in the configuration file to enable distributed governance:
 
-![1](../../static/img/Your_Detailed_Guide_to_Apache_ShardingSphere’s_Operating_Modes_img_1.png)
+![1](https://shardingsphere.apache.org/blog/img/Your_Detailed_Guide_to_Apache_ShardingSphere’s_Operating_Modes_img_1.png)
 
 The most important features of distributed governance include persistent user 
configuration and 
[metadata](https://dzone.com/articles/shardingshpheres-metadata-loading-process).
 
@@ -27,7 +27,7 @@ Like other standard SQLs, DistSQL, known as the operating 
language of the distri
 
 In previous versions, only when you enabled distributed governance could the 
feature be implemented. That’s the reason why DistSQL was only available in the 
distributed governance scenario in its early development stage.
 
-![2](../../static/img/Your_Detailed_Guide_to_Apache_ShardingSphere’s_Operating_Modes_img_2.png)
+![2](https://shardingsphere.apache.org/blog/img/Your_Detailed_Guide_to_Apache_ShardingSphere’s_Operating_Modes_img_2.png)
 
 ## Why We Created Operating Modes
 
@@ -49,7 +49,7 @@ So far ShardingSphere has three modes, i.e. Memory, 
Standalone, and Cluster. The
 
 The `governance` configuration method is removed from the 5.0.0 version, and 
instead, we start to use the different operating modes.
 
-![3](../../static/img/Your_Detailed_Guide_to_Apache_ShardingSphere’s_Operating_Modes_img_3.png)
+![3](https://shardingsphere.apache.org/blog/img/Your_Detailed_Guide_to_Apache_ShardingSphere’s_Operating_Modes_img_3.png)
 
 Next, I’d like to explain the basic concepts of the three operating modes in 
detail, and show you how to choose the right operating mode when you use 
ShardingSphere for development.
 
@@ -69,7 +69,7 @@ The Standalone mode makes it convenient for development 
engineers to quickly bui
 
 The mode’s configuration is shown as follows:
 
-![4](../../static/img/Your_Detailed_Guide_to_Apache_ShardingSphere’s_Operating_Modes_img_4.png)
+![4](https://shardingsphere.apache.org/blog/img/Your_Detailed_Guide_to_Apache_ShardingSphere’s_Operating_Modes_img_4.png)
 
 The Standalone mode can persist local files by default. Configurations are 
persisted in the user directory `.shardingsphere` by default, but you can also 
customize your storage path by configuring `path`.
 
@@ -81,11 +81,11 @@ The mode can provide distributed governance capability. By 
integrating an indepe
 
 We take Zookeeper as the example, to demonstrate mode configuration:
 
-![5](../../static/img/Your_Detailed_Guide_to_Apache_ShardingSphere’s_Operating_Modes_img_5.png)
+![5](https://shardingsphere.apache.org/blog/img/Your_Detailed_Guide_to_Apache_ShardingSphere’s_Operating_Modes_img_5.png)
 
 We also compare the differences between the three modes (shown in the table 
below). Our suggestion is that you consider your needs first and then choose 
the right mode.
 
-![6](../../static/img/Your_Detailed_Guide_to_Apache_ShardingSphere’s_Operating_Modes_img_6.png)
+![6](https://shardingsphere.apache.org/blog/img/Your_Detailed_Guide_to_Apache_ShardingSphere’s_Operating_Modes_img_6.png)
 
 ## Summary
 ShardingSphere’s three operating modes can meet virtually all user needs in 
various environments from testing, to development, to deployment.
@@ -109,7 +109,7 @@ Meng Haoran
 > 
 > Previously responsible for the database products R&D at JingDong Technology, 
 > he is passionate about Open-Source and database ecosystems. Currently, he 
 > focuses on the development of the ShardingSphere database ecosystem and open 
 > source community building.
 
-![](../../static/img/Meng_Haoran_Photo.png)
+![](https://shardingsphere.apache.org/blog/img/Meng_Haoran_Photo.png)
 
 
 
diff --git a/docs/blog/content/material/Nov_22_5.0.0_New.en.md 
b/docs/blog/content/material/Nov_22_5.0.0_New.en.md
index 12b4c3e..e4c2f56 100644
--- a/docs/blog/content/material/Nov_22_5.0.0_New.en.md
+++ b/docs/blog/content/material/Nov_22_5.0.0_New.en.md
@@ -29,7 +29,7 @@ Database Plus sets out to build a standard layer and an 
ecosystem layer above th
 
 **Product Layer:** End users are provided with industry-oriented and specific 
scenario-oriented standard product solutions.
 
-![](../../static/img/Blog_26_img_1.png)
+![](https://shardingsphere.apache.org/blog/img/Blog_26_img_1.png)
 
 _Multi-Access terminal mixed mode production available_
 
@@ -39,37 +39,37 @@ Additionally, SphereEx leverages the ShardingSphere 
ecosystem and will provide t
 
 With the shared core architecture and different ShardingSphere adapters, users 
can also choose hybrid adapter deployment if their production environment 
requires them to do so (shown in the figure below).
 
-![](../../static/img/Blog_26_img_2.png)
+![](https://shardingsphere.apache.org/blog/img/Blog_26_img_2.png)
 
 _Standardized cluster management with DistSQL_
 
 Apache ShardingSphere first proposed the unique SQL dialect of DistSQL 
(distributed SQL) to connect all elements of the ShardingSphere ecosystem 
together. As the standard interaction language of the ShardingSphere 
distributed database ecosystem, DistSQL allows users to use one SQL command to 
create, modify or delete a distributed database table, or to encrypt or decrypt 
it. DistSQL also supports distributed scheduling management.
 
-![](../../static/img/Blog_26_img_3.png)
+![](https://shardingsphere.apache.org/blog/img/Blog_26_img_3.png)
 
 _Significantly improved distributed governance capabilities_
 
 In the ShardingSphere ecosystem where computing and storage are separated, 
features are greatly enhanced in the new version including: the distributed 
governance of databases (i.e., storage nodes) and Proxy/JDBC (i.e. computing 
nodes), online user metadata DDL change, on/off running storage nodes and 
computing nodes, circuit breaker and disabling, and high availability. 
Additionally, the new feature distributed lock is scheduled to be released soon.
 
-![](../../static/img/Blog_26_img_4.png)
+![](https://shardingsphere.apache.org/blog/img/Blog_26_img_4.png)
 
 _Fully upgraded APM and monitoring display capabilities_
 
 In the new version, we optimize and add more runtime status indicators to 
monitor ShardingSphere. Through the agent dynamic loading mechanism, we provide 
users with various indicators for metrics and tracing, making it convenient to 
integrate the APM system with the Grafana dashboard.
 
-![](../../static/img/Blog_26_img_5.png)
+![](https://shardingsphere.apache.org/blog/img/Blog_26_img_5.png)
 
-![](../../static/img/Blog_26_img_6.png)
+![](https://shardingsphere.apache.org/blog/img/Blog_26_img_6.png)
 
 ##Function Layer
 
-![](../../static/img/Blog_26_img_7.png)
+![](https://shardingsphere.apache.org/blog/img/Blog_26_img_7.png)
 
 In the future, the community will continue to optimize ShardingSphere and 
integrate new ideas and industry scenarios, while always listening to users’ 
feedback. Meanwhile, the core team members of the ShardingSphere community are 
willing to mentor anyone interested in open source and to provide more practice 
“ISSUES” to students interested in open source. We also hope that new friends 
or contributors will join the community, to promote ideas exchange and create a 
truly global developer c [...]
 
 ##Author
 
-![Juan Pan | Trista](![](../../static/img/Blog_26_img_8.png))
+![Juan Pan | 
Trista](![](https://shardingsphere.apache.org/blog/img/Blog_26_img_8.png))
 
 Sphere Ex Co-Founder & CTO; Apache Member; Apache ShardingSphere PMC, Apache 
brpc (Incubating) & Apache AGE (Incubating) Mentor; China Mulan Open Source 
Community Mentor.
 She used to be responsible for the design and development of the intelligent 
database platform of JD Digital Science and Technology.
diff --git a/docs/blog/content/material/Nov_23_1_Integrate_SCTL_into_RAL.en.md 
b/docs/blog/content/material/Nov_23_1_Integrate_SCTL_into_RAL.en.md
index 2a8658b..7ecae2b 100644
--- a/docs/blog/content/material/Nov_23_1_Integrate_SCTL_into_RAL.en.md
+++ b/docs/blog/content/material/Nov_23_1_Integrate_SCTL_into_RAL.en.md
@@ -248,7 +248,7 @@ Input command
 Output
 
 The initial status output is :
-![](../../static/img/Blog_27_img_1_codes.png)
+![](https://shardingsphere.apache.org/blog/img/Blog_27_img_1_codes.png)
 
 Verify the hint and input the command:
 
@@ -257,7 +257,7 @@ Verify the hint and input the command:
 Output
 No hint value now. Query is fully dependent on the hint. 
 
-![](../../static/img/Blog_27_img_2_codes.png)
+![](https://shardingsphere.apache.org/blog/img/Blog_27_img_2_codes.png)
 
 -`set sharding hint database_value;`
 
@@ -272,11 +272,11 @@ Output
 a. If successful, show "Query OK, 0 rows affected";
 b. Execute `show sharding hint status`; show  `t_order_item`'s 
`database_sharding_values` as 1. Update `sharding_type value` as 
`databases_only`.
 
-![](../../static/img/Blog_27_img_3_codes.png)
+![](https://shardingsphere.apache.org/blog/img/Blog_27_img_3_codes.png)
 
 c. Execute `preview select * from t_order_item`; SQL all hinted to ds_1:
 
-![](../../static/img/Blog_27_img_4_codes.png)
+![](https://shardingsphere.apache.org/blog/img/Blog_27_img_4_codes.png)
 
 ***Note: According to the sharding rules of YAML configuration, when 
database_value is an odd number, hint at ds_1; when database_value is an even 
number, hint at ds_0.**
 
@@ -293,11 +293,11 @@ Output
 a. If successful,show "Query OK, 0 rows affected";
 b. Execute `show sharding hint status`; Show `t_order_item`'s 
`database_sharding_values` as 5; update `sharding_type value` as 
`databases_tables`;
 
-![](../../static/img/Blog_27_img_5_codes.png)
+![](https://shardingsphere.apache.org/blog/img/Blog_27_img_5_codes.png)
 
 c. Execute `preview select * from t_order_item`; SQL commands are all hinted 
to ds_1:
 
-![](../../static/img/Blog_27_img_6_codes.png)
+![](https://shardingsphere.apache.org/blog/img/Blog_27_img_6_codes.png)
 
 Enter the add command again to add an even value.
 
@@ -308,11 +308,11 @@ Output:
 a. If successful,show "Query OK, 0 rows affected";
 b. Execute `show sharding hint status`; show `t_order_item`'s 
`database_sharding_values` = '5,10':
 
-![](../../static/img/Blog_27_img_7_codes.png)
+![](https://shardingsphere.apache.org/blog/img/Blog_27_img_7_codes.png)
 
 c. Execute `preview select * from t_order_item`; SQL hint contains ds_0 and 
ds_1:( Because the hint values include both odd and even number so it contains 
all target data sources)
 
-![](../../static/img/Blog_27_img_8_codes.png)
+![](https://shardingsphere.apache.org/blog/img/Blog_27_img_8_codes.png)
 
 -`add sharding hint table_value;`
 
@@ -327,11 +327,11 @@ Output
 a. If successful,show "Query OK, 0 rows affected";
 b. Execute `show sharding hint status`; show `t_order_item`'s 
`database_sharding_values`  as '5,10' while `table_sharding_values` is '0':
 
-![](../../static/img/Blog_27_img_9_codes.png)
+![](https://shardingsphere.apache.org/blog/img/Blog_27_img_9_codes.png)
 
 c. Execute `preview select * from t_order_item`; the Hint condition is shown 
in the figure below; Every database only queries `t_order_item_0`:
 
-![](../../static/img/Blog_27_img_10_codes.png)
+![](https://shardingsphere.apache.org/blog/img/Blog_27_img_10_codes.png)
 
 **Note: According to the sharding rules of YAML configuration, when 
`table_value` is an odd number, hint `t_order_item_1`; when `database_value` is 
an even number, hint `t_order_item_0`.
 It's quite similar to `add sharding hint database_value`; you can set more 
than one hint values in `add sharding hint database_value`, to cover more 
shards.**
@@ -348,7 +348,7 @@ Output
 a. If successful, show "Query OK, 0 rows affected";
 b. Clear sharding hint and recover default; use `show sharding hint status`; 
to see the result. The initial status is: 
 
-![](../../static/img/Blog_27_img_11_codes.png)
+![](https://shardingsphere.apache.org/blog/img/Blog_27_img_11_codes.png)
 
 `clear hint`
 
@@ -401,13 +401,13 @@ That's all folks. If you have any questions or 
suggestions, feel free to comment
 
 Jiang Longtao
 
-![](../../static/img/Blog_22_img_5_Liang_Longtao_Photo.png)
+![](https://shardingsphere.apache.org/blog/img/Blog_22_img_5_Liang_Longtao_Photo.png)
 
 >SphereEx Middleware Development Engineer & Apache ShardingSphere Committer. 
 >Currently, he is in charge of DistSQL and permission control development.
 
 Lan Chengxiang
 
-![](../../static/img/Blog_27_img__Lan_Chengxiang_Photo.png)
+![](https://shardingsphere.apache.org/blog/img/Blog_27_img__Lan_Chengxiang_Photo.png)
 
 >SphereEx Middleware Development Engineer & Apache ShardingSphere Contributor. 
 >He focuses on DisSQL design and development. 
 
diff --git 
"a/docs/blog/content/material/Oct_12_1_ShardingSphere\342\200\231s_Metadata_Loading_Process.cn.md"
 
"b/docs/blog/content/material/Oct_12_1_ShardingSphere\342\200\231s_Metadata_Loading_Process.cn.md"
index 76560b6..cb98c00 100644
--- 
"a/docs/blog/content/material/Oct_12_1_ShardingSphere\342\200\231s_Metadata_Loading_Process.cn.md"
+++ 
"b/docs/blog/content/material/Oct_12_1_ShardingSphere\342\200\231s_Metadata_Loading_Process.cn.md"
@@ -10,7 +10,7 @@ chapter = true
 
 而对于 ShardingSphere 元数据的加载过程,首先需要弄清楚在 ShardingSphere 中元数据的类型以及分级。在 
ShardingSphere 中元数据主要围绕着 `ShardingSphereMetaData` 来进行展开,其中较为核心的是 
`ShardingSphereSchema`。该结构是数据库的元数据,同时也为数据源元数据的顶层对象,在 ShardingSphere 
中数据库元数据的结构如下图。对于每一层来说,上层数据来源于下层数据的组装,所以下面我们采用从下往上的分层方式进行逐一剖析。
 
-![](../../static/img/Blog_17_img_1_a.png)
+![](https://shardingsphere.apache.org/blog/img/Blog_17_img_1_a.png)
 
 **二、ColumMetaData 和 IndexMetaData**
 
diff --git 
"a/docs/blog/content/material/Oct_12_1_ShardingSphere\342\200\231s_Metadata_Loading_Process.en.md"
 
"b/docs/blog/content/material/Oct_12_1_ShardingSphere\342\200\231s_Metadata_Loading_Process.en.md"
index b5cee93..b5db091 100644
--- 
"a/docs/blog/content/material/Oct_12_1_ShardingSphere\342\200\231s_Metadata_Loading_Process.en.md"
+++ 
"b/docs/blog/content/material/Oct_12_1_ShardingSphere\342\200\231s_Metadata_Loading_Process.en.md"
@@ -13,7 +13,7 @@ chapter = true
 
   For the ShardingSphere metadata loading process, it is first necessary to 
clarify the type and hierarchy of metadata in ShardingSphere. The metadata in 
ShardingSphere is mainly based around the `ShardingSphereMetaData`, the core of 
which is the `ShardingSphereSchema`, which is the metadata of the database and 
is also the top-level object of the data source metadata. The structure of the 
database metadata in ShardingSphere is shown as below, for each layer, the 
upper layer data comes fr [...]
 
-![](../../static/img/Blog_17_img_1_ShardingSphere_Database_Metadata_Structure_Diagram_en.png)
+![](https://shardingsphere.apache.org/blog/img/Blog_17_img_1_ShardingSphere_Database_Metadata_Structure_Diagram_en.png)
 
 
 **2. ColumMetaData and IndexMetaData**
@@ -261,7 +261,7 @@ For the loading of resources common to the system, we 
follow the concept of “o
     
 **About The Author**
 
-![](../../static/img/Blog_17_img_2_Tang_Guocheng_Photo.png)
+![](https://shardingsphere.apache.org/blog/img/Blog_17_img_2_Tang_Guocheng_Photo.png)
 
 Tang Guocheng, a software engineer at Xiaomi, is mainly responsible for the 
development of the MIUI browser server side. He is a technology and Open-Source 
enthusiast, loves to explore and is keen on researching and learning about 
Open-Source middleware solutions. He is a proud member of the ShardingSphere 
community and is working hard to improve his skills with the support of the 
community, and to contribute to the development of the ShardingSphere community.
 
diff --git 
a/docs/blog/content/material/Oct_12_3_How_Can_Students_Participate_in_Open_Source_Communities.en.md
 
b/docs/blog/content/material/Oct_12_3_How_Can_Students_Participate_in_Open_Source_Communities.en.md
index d43725d..f0006f3 100644
--- 
a/docs/blog/content/material/Oct_12_3_How_Can_Students_Participate_in_Open_Source_Communities.en.md
+++ 
b/docs/blog/content/material/Oct_12_3_How_Can_Students_Participate_in_Open_Source_Communities.en.md
@@ -4,7 +4,7 @@ weight = 19
 chapter = true
 +++
 
-![](../../static/img/Blog_19_img_1_community.png)
+![](https://shardingsphere.apache.org/blog/img/Blog_19_img_1_community.png)
 
 Having some experience in Open-Source projects or communities is quite common 
for developers nowadays. Actually, not only adults but students should, and are 
increasingly likely to get involved in Open-Source projects.
 
@@ -74,7 +74,7 @@ After mentoring countless local and international students, 
this is the perspect
 
 **Juan Pan | Trista**
 
-![](../../static/img/Blog_19_img_2_Pan_Juan_Photo.jpg)
+![](https://shardingsphere.apache.org/blog/img/Blog_19_img_2_Pan_Juan_Photo.jpg)
 
 SphereEx Co-Founder, Apache Member, Apache ShardingSphere PMC, Apache 
brpc(Incubating) & Apache AGE(Incubating) mentor.
 
diff --git 
a/docs/blog/content/material/Oct_12_4_Updates_and_FAQ_Your_1_Minute_Quick_Start_Guide_to_ShardingSphere.cn.md
 
b/docs/blog/content/material/Oct_12_4_Updates_and_FAQ_Your_1_Minute_Quick_Start_Guide_to_ShardingSphere.cn.md
index e92d084..1c15445 100644
--- 
a/docs/blog/content/material/Oct_12_4_Updates_and_FAQ_Your_1_Minute_Quick_Start_Guide_to_ShardingSphere.cn.md
+++ 
b/docs/blog/content/material/Oct_12_4_Updates_and_FAQ_Your_1_Minute_Quick_Start_Guide_to_ShardingSphere.cn.md
@@ -167,7 +167,7 @@ ShardingSphere-Proxy 示例模块,包含了分库分表、读写分离和强
 在以 Java 作为主要语言的专业开发者中,Java 8 LTS(长期支持版本)仍然是最受欢迎的版本。
 
 
-![](../../static/img/Blog_20_img_1_a_Photo.png)
+![](https://shardingsphere.apache.org/blog/img/Blog_20_img_1_a_Photo.png)
 
 来源《JetBrains 公司 2020 关于 Java 的报告》:
 https://blog.jetbrains.com/zh-hans/idea/2020/10/java-2020/
@@ -332,4 +332,4 @@ 
https://shardingsphere.apache.org/document/current/cn/user-manual/shardingsphere
 https://github.com/apache/shardingsphere/issues
 
 **贡献指南:**
-https://shardingsphere.apache.org/community/cn/contribute/
\ No newline at end of file
+https://shardingsphere.apache.org/community/cn/contribute/
diff --git 
a/docs/blog/content/material/Oct_12_4_Updates_and_FAQ_Your_1_Minute_Quick_Start_Guide_to_ShardingSphere.en.md
 
b/docs/blog/content/material/Oct_12_4_Updates_and_FAQ_Your_1_Minute_Quick_Start_Guide_to_ShardingSphere.en.md
index c5ea59b..a58d3e7 100644
--- 
a/docs/blog/content/material/Oct_12_4_Updates_and_FAQ_Your_1_Minute_Quick_Start_Guide_to_ShardingSphere.en.md
+++ 
b/docs/blog/content/material/Oct_12_4_Updates_and_FAQ_Your_1_Minute_Quick_Start_Guide_to_ShardingSphere.en.md
@@ -158,7 +158,7 @@ Related details are as follows:
 
 According to JetBrains’s “A Picture of Java in 2020”, Java8 LTS is the most 
popular version among Java developers.
 
-![](../../static/img/Blog_20_img_1_Popularity_of_Java_versions_in_2020_en.png)
+![](https://shardingsphere.apache.org/blog/img/Blog_20_img_1_Popularity_of_Java_versions_in_2020_en.png)
 
 Following this update, shardingsphere-example uses Java 8 and newer versions. 
If you use Java 7 or earlier versions, please update your JDK version first.
 
@@ -320,11 +320,11 @@ If you have any questions or have found any issues, we 
are looking forward to yo
 
 **Authors**
 
-![](../../static/img/Blog_20_img_2_Liang_Longtao_Photo.png)
+![](https://shardingsphere.apache.org/blog/img/Blog_20_img_2_Liang_Longtao_Photo.png)
 
 I’m Jiang Longtao, SphereEx middleware engineer & Apache ShardingSphere 
contributor. At present, I focus on ShardingSphere database middleware and its 
open source community.
 
-![](../../static/img/Blog_20_img_3_Hou_Yang_Photo.png)
+![](https://shardingsphere.apache.org/blog/img/Blog_20_img_3_Hou_Yang_Photo.png)
 
 I’m Hou Yang, and I am a middleware enigneer at SphereEx. I love open source 
and I want to contribute to building a better community with everyone.
 
diff --git 
a/docs/blog/content/material/Oct_12_5_E-Hualu_ShardingSphere_Hulu_Story_Data_Processing_Shortcut.cn.md
 
b/docs/blog/content/material/Oct_12_5_E-Hualu_ShardingSphere_Hulu_Story_Data_Processing_Shortcut.cn.md
index 733a489..f9e5e95 100644
--- 
a/docs/blog/content/material/Oct_12_5_E-Hualu_ShardingSphere_Hulu_Story_Data_Processing_Shortcut.cn.md
+++ 
b/docs/blog/content/material/Oct_12_5_E-Hualu_ShardingSphere_Hulu_Story_Data_Processing_Shortcut.cn.md
@@ -42,7 +42,7 @@ chapter = true
 
 围绕上述的一些诉求,葫芦团队用了 2 周左右时间对 ShardingSphere 
及同类解决方案进行了全面评估,综合考虑了如产品功能、成熟度、稳定性、性能等多方面评估指标,最终 ShardingSphere 
凭借完善的功能支持程度以及高成熟度,充分满足了葫芦团队的业务诉求。
 
-![](../../static/img/Blog_21_img_1_a_Photo.png)
+![](https://shardingsphere.apache.org/blog/img/Blog_21_img_1_a_Photo.png)
 
 从上图中可以看出,葫芦团队将 ShardingSphere 部署在了阿里云的 RDS 
之上,相较于对本体数据库做调整,葫芦团队更倾向于在数据库之上来进行数据治理。而 ShardingSphere 
能够从可插拔架构所带来高扩展性、距离业务更紧密的贴合性以及对于业务架构的零侵入性这三个层面对葫芦的后台数据架构进行有效改进,并带来了明显的效果提升:
 
diff --git 
a/docs/blog/content/material/Oct_12_6_AutoTable_Your_Butler-Like_Sharding_Configuration_Tool.cn.md
 
b/docs/blog/content/material/Oct_12_6_AutoTable_Your_Butler-Like_Sharding_Configuration_Tool.cn.md
index e4a9aea..4e55ea9 100644
--- 
a/docs/blog/content/material/Oct_12_6_AutoTable_Your_Butler-Like_Sharding_Configuration_Tool.cn.md
+++ 
b/docs/blog/content/material/Oct_12_6_AutoTable_Your_Butler-Like_Sharding_Configuration_Tool.cn.md
@@ -16,7 +16,7 @@ SphereEx 中间件研发工程师,Apache ShardingSphere contributor。目前
 
 **Sharding**是 Apache ShardingSphere 的核心特性,也是 ShardingSphere 
最被人们熟知的一项能力。在过去,用户若需要进行分库分表,一种典型的实施流程(不含数据迁移)如下:
 
-![](../../static/img/Blog_22_img_4_Rewarded_User_Issue_Snapshot.png)
+![](https://shardingsphere.apache.org/blog/img/Blog_22_img_4_Rewarded_User_Issue_Snapshot.png)
 
                                        图1 Sharding 实施流程示意图
 
@@ -24,7 +24,7 @@ SphereEx 中间件研发工程师,Apache ShardingSphere contributor。目前
 
 以上述分库分表场景为例,实际的数据表分布情况可能如下:
 
-![](../../static/img/Blog_22_img_2_8_Databases_4_Tables_Distribution.png)
+![](https://shardingsphere.apache.org/blog/img/Blog_22_img_2_8_Databases_4_Tables_Distribution.png)
 
                                        图2 8 库 * 4 表分布示意图
 
@@ -66,7 +66,7 @@ shardingAlgorithms:
 
 如这位用户提出的 issue:
 
-![](../../static/img/Blog_22_img_3_Question_Comment.png)
+![](https://shardingsphere.apache.org/blog/img/Blog_22_img_3_Question_Comment.png)
 
 ## AutoTable 横空出世
 
@@ -196,4 +196,4 @@ https://github.com/apache/shardingsphere/issues
 
 **贡献指南:**
 
-https://shardingsphere.apache.org/community/cn/contribute/
\ No newline at end of file
+https://shardingsphere.apache.org/community/cn/contribute/
diff --git 
a/docs/blog/content/material/Oct_12_6_AutoTable_Your_Butler_Like_Sharding_Configuration_Tool.en.md
 
b/docs/blog/content/material/Oct_12_6_AutoTable_Your_Butler_Like_Sharding_Configuration_Tool.en.md
index 8a9172b..13fe28e 100644
--- 
a/docs/blog/content/material/Oct_12_6_AutoTable_Your_Butler_Like_Sharding_Configuration_Tool.en.md
+++ 
b/docs/blog/content/material/Oct_12_6_AutoTable_Your_Butler_Like_Sharding_Configuration_Tool.en.md
@@ -18,7 +18,7 @@ Following the article’s publication, we received many 
messages from our reader
 
 **Figure 1:** Sharding Workflow
 
-![](../../static/img/Blog_22_img_1_sharding_workflow_en.png)
+![](https://shardingsphere.apache.org/blog/img/Blog_22_img_1_sharding_workflow_en.png)
 
 In such workflow, you have to clearly know your sharding strategies, and the 
actual table names and their datasources. Then, you base your sharding rules on 
such information.
 
@@ -26,7 +26,7 @@ One of the table distribution results may be 8 sharding 
databases each containin
 
 **Figure 2:** 8 Databases * 4 Tables Distribution
 
-![](../../static/img/Blog_22_img_2_8_Databases_4_Tables_Distribution.png)
+![](https://shardingsphere.apache.org/blog/img/Blog_22_img_2_8_Databases_4_Tables_Distribution.png)
 
 ## Problem
 
@@ -65,7 +65,7 @@ ShardingSphere actually has very user-friendly configuration 
rules. However, use
 
 *We always pay attention to user issues. For example, we have noticed one of 
our users found the following issue:*
 
-![](../../static/img/Blog_22_img_3_Question_Comment.png)
+![](https://shardingsphere.apache.org/blog/img/Blog_22_img_3_Question_Comment.png)
 
 ## Why You Need AutoTable?
 
@@ -176,7 +176,7 @@ For more information, please read: 
[https://github.com/apache/shardingsphere/blo
 
 @CatYangWei was the first GitHub user to ask about `AutoTable`.
 
-![](../../static/img/Blog_22_img_4_Rewarded_User_Issue_Snapshot.png)
+![](https://shardingsphere.apache.org/blog/img/Blog_22_img_4_Rewarded_User_Issue_Snapshot.png)
 
 We’d like to thank him for helping us find the problem. We do appreciate that. 
In order to express our gratitude, we will contact you later and send you a 
gift. as a token of appreciation from the community👏👏👏
 
@@ -196,6 +196,6 @@ Contributor 
Guide:[https://shardingsphere.apache.org/community/en/contribute/]
 
 Longtao Jiang
 
-![](../../static/img/Blog_22_img_5_Liang_Longtao_Photo.png)
+![](https://shardingsphere.apache.org/blog/img/Blog_22_img_5_Liang_Longtao_Photo.png)
 
 > SphereEx Middleware Development Engineer & Apache ShardingSphere Contributor.
diff --git 
a/docs/blog/content/material/Oct_12_7_openGauss_ShardingSphere_One_of_the_Top_Distribution_Solutions.cn.md
 
b/docs/blog/content/material/Oct_12_7_openGauss_ShardingSphere_One_of_the_Top_Distribution_Solutions.cn.md
index ba6237f1..8fb0d65 100644
--- 
a/docs/blog/content/material/Oct_12_7_openGauss_ShardingSphere_One_of_the_Top_Distribution_Solutions.cn.md
+++ 
b/docs/blog/content/material/Oct_12_7_openGauss_ShardingSphere_One_of_the_Top_Distribution_Solutions.cn.md
@@ -7,7 +7,7 @@ chapter = true
 Apache ShardingSphere 持续助力于 openGauss 分布式数据库能力的构建。openGauss 数据库自 2020 年 6 
月开源以来,受到了业界的广泛关注,现已吸引众多伙伴、开发者参与其中,共建繁荣的数据库生态。面对如今海量数据,超高并发等诸多场景,openGauss 
将目光转向于分布式解决方案,专注于解决海量数据存储、超高并发吞吐、大表瓶颈等众多难题,与 **ShardingSphere** 
一起构建全栈开源分布式解决方案,实现 **openGauss** 的又一大突破。
 
 ## 分布式解决方案
-![](../../static/img/Blog_23_img_1_a_Photo.png)
+![](https://shardingsphere.apache.org/blog/img/Blog_23_img_1_a_Photo.png)
 
                                        图1 分布式解决方案整体框图
 
@@ -56,4 +56,4 @@ openGauss 融合了众多开源组件,用以构建集数据水平扩展、分
 
 支持同城、异地、多地多中心灵活部署,根据业务的潮汐特点灵活扩缩容,助力智慧电网。
 
-**欢迎更多技术团队与我们一同分享使用 ShardingSphere 的经验思考。**
\ No newline at end of file
+**欢迎更多技术团队与我们一同分享使用 ShardingSphere 的经验思考。**
diff --git 
a/docs/blog/content/material/Oct_12_7_openGauss_ShardingSphere_One_of_the_Top_Distribution_Solutions.en.md
 
b/docs/blog/content/material/Oct_12_7_openGauss_ShardingSphere_One_of_the_Top_Distribution_Solutions.en.md
index 3e4c973..75c5e27 100644
--- 
a/docs/blog/content/material/Oct_12_7_openGauss_ShardingSphere_One_of_the_Top_Distribution_Solutions.en.md
+++ 
b/docs/blog/content/material/Oct_12_7_openGauss_ShardingSphere_One_of_the_Top_Distribution_Solutions.en.md
@@ -18,7 +18,7 @@ Apache ShardingSphere facilitates the distributed feature 
development of openGau
 
 openGauss integrates many open source components to optimize its full stack & 
open source distributed solution for horizontal scaling, distributed 
transactions, and distributed governance. Its framework is shown in Fig.1
 
-![](../../static/img/Blog_23_img_1_The_Structure_of_the_ShardingSphere_openGauss_Distribution_Solution.en.png)
+![](https://shardingsphere.apache.org/blog/img/Blog_23_img_1_The_Structure_of_the_ShardingSphere_openGauss_Distribution_Solution.en.png)
 
 ShardingSphere-Proxy is the open source distributed database solution. 
ShardingSphere’s well-known features include but are not limited to data 
sharding, distributed transaction, elastic scaling, and read-write splitting.
 
diff --git 
a/docs/blog/content/material/Oct_12_8_ShardingSphere_Google_Summer_of_Code_Students_How_Was_Your_Open_Source_Experience.cn.md
 
b/docs/blog/content/material/Oct_12_8_ShardingSphere_Google_Summer_of_Code_Students_How_Was_Your_Open_Source_Experience.cn.md
index ee9605e..b1e9883 100644
--- 
a/docs/blog/content/material/Oct_12_8_ShardingSphere_Google_Summer_of_Code_Students_How_Was_Your_Open_Source_Experience.cn.md
+++ 
b/docs/blog/content/material/Oct_12_8_ShardingSphere_Google_Summer_of_Code_Students_How_Was_Your_Open_Source_Experience.cn.md
@@ -4,7 +4,7 @@ weight = 24
 chapter = true
 +++
 
-![](../../static/img/Blog_24_img_1_ShardingSphere_GSoC.png)
+![](https://shardingsphere.apache.org/blog/img/Blog_24_img_1_ShardingSphere_GSoC.png)
 
 Apache ShardingSphere 社区有幸参与 Google 编程之夏(Google Summer of Code, 以下简称 
GSoC),指导年轻一代参与开源程序代码设计。GSoC 是 Google 公司主办的年度开源程序设计项目,第一届从 2005 
年开始,主要目的是鼓励世界各地的学生参与开放源代码的程序设计。而 Apache ShardingSphere 项目也被选中成为 GSoC 
一部分,为学生带来开源软件开发的有趣体验。
 
@@ -13,7 +13,7 @@ Apache ShardingSphere 社区有幸参与 Google 编程之夏(Google Summer of
 
                                                <个人简介>
 
-![](../../static/img/Blog_24_img_3_Thanoshan_Photo.png)
+![](https://shardingsphere.apache.org/blog/img/Blog_24_img_3_Thanoshan_Photo.png)
 
 **Thanoshan**
 
@@ -21,7 +21,7 @@ Apache ShardingSphere 社区有幸参与 Google 编程之夏(Google Summer of
 院校:斯里兰卡萨巴拉加穆瓦大学
 专业:计算机与信息系统
 
-![](../../static/img/Blog_24_img_4_Liangda_Photo.png)
+![](https://shardingsphere.apache.org/blog/img/Blog_24_img_4_Liangda_Photo.png)
 
 **Liangda**
 
@@ -126,4 +126,4 @@ Apache ShardingSphere 社区欢迎大家的加入,无论你会不会编程,
 
 **ShardingSphere Twitter:**https://twitter.com/ShardingSphere
 
-**ShardingSphere Slack Channel:**apacheshardingsphere.slack.com
\ No newline at end of file
+**ShardingSphere Slack Channel:**apacheshardingsphere.slack.com
diff --git 
a/docs/blog/content/material/Oct_12_8_ShardingSphere_Google_Summer_of_Code_Students_How_Was_Your_Open_Source_Experience.en.md
 
b/docs/blog/content/material/Oct_12_8_ShardingSphere_Google_Summer_of_Code_Students_How_Was_Your_Open_Source_Experience.en.md
index 1a0d02c..a88f1d1 100644
--- 
a/docs/blog/content/material/Oct_12_8_ShardingSphere_Google_Summer_of_Code_Students_How_Was_Your_Open_Source_Experience.en.md
+++ 
b/docs/blog/content/material/Oct_12_8_ShardingSphere_Google_Summer_of_Code_Students_How_Was_Your_Open_Source_Experience.en.md
@@ -4,19 +4,19 @@ weight = 24
 chapter = true
 +++
 
-![](../../static/img/Blog_24_img_1_ShardingSphere_GSoC.png)
+![](https://shardingsphere.apache.org/blog/img/Blog_24_img_1_ShardingSphere_GSoC.png)
 
 Recently the ShardingSphere community had the pleasure of contributing to the 
Google Summer of Code (GSoC), and mentoring the next generation of open source 
innovators. Our project was select to be part of this brilliant and long 
running program, to provide students from all over the world with an experience 
in open source software.
 
 Thanoshan and Liangda are the students that worked with Apache ShardingSphere 
mentors during the latest GSoC, and continue contributing to the project ever 
since.
 
-![](../../static/img/Blog_24_img_2_GSoC_2021_Projects_ss_Students_Snapshot_Thanoshan_Liangda.png)
+![](https://shardingsphere.apache.org/blog/img/Blog_24_img_2_GSoC_2021_Projects_ss_Students_Snapshot_Thanoshan_Liangda.png)
 
 They were kind enough to agree to a phone interview with Yacine, one of the 
ShardingSphere committers and community managers — to share their opinions and 
experience with the GSoC application process, joining the Apache ShardingSphere 
project, and their future plans.
 
 ## Students Intro:
 
-![](../../static/img/Blog_24_img_3_Thanoshan_Photo.png)
+![](https://shardingsphere.apache.org/blog/img/Blog_24_img_3_Thanoshan_Photo.png)
 
 Name: Thanoshan
 
@@ -26,7 +26,7 @@ University: Sabaragamuwa University
 
 Major: Computing & Information Systems
 
-![](../../static/img/Blog_24_img_4_Liangda_Photo.png)
+![](https://shardingsphere.apache.org/blog/img/Blog_24_img_4_Liangda_Photo.png)
 
 Name:Liangda
 
@@ -156,7 +156,7 @@ ShardingSphere Slack Channel: 
[apacheshardingsphere.slack.com]()
 
 ## Author
 
-![](../../static/img/Blog_24_img_5_Yachine_Photo.png)
+![](https://shardingsphere.apache.org/blog/img/Blog_24_img_5_Yachine_Photo.png)
 
 > **Yacine Si Tayeb**
 
diff --git a/docs/blog/content/material/Oct_12_9_ShardingSphere_JD 
Baitiao_Story_of_an_Implementation_Journey.cn.md 
b/docs/blog/content/material/Oct_12_9_ShardingSphere_JD 
Baitiao_Story_of_an_Implementation_Journey.cn.md
index 5aa8681..439af5d 100644
--- a/docs/blog/content/material/Oct_12_9_ShardingSphere_JD 
Baitiao_Story_of_an_Implementation_Journey.cn.md    
+++ b/docs/blog/content/material/Oct_12_9_ShardingSphere_JD 
Baitiao_Story_of_an_Implementation_Journey.cn.md    
@@ -95,7 +95,7 @@ ShardingSphere-JDBC 的以下特点能够很好地满足白条业务场景:
 
 * **扩展灵活:**搭配使用迁移同步组件轻松实现数据扩展。
 
-![](../../static/img/Blog_25_img_2_JD_ShardingSphere_JDBC_en.png)
+![](https://shardingsphere.apache.org/blog/img/Blog_25_img_2_JD_ShardingSphere_JDBC_en.png)
 
 经内部大量系统性验证之后,Apache ShardingSphere 成为了京东白条数据分片中间件的首选方案,2018 年底正式开始对接。
 
@@ -132,7 +132,7 @@ Apache ShardingSphere 提供了内置的分布式主键生成器,例如 UUID
 经两团队通力合作,京东白条业务与 Apache ShardingSphere 相结合的各项指标满足预期,性能与原生 JDBC 几乎一致。
 
 
-![](../../static/img/Blog_25_img_2_b.png)
+![](https://shardingsphere.apache.org/blog/img/Blog_25_img_2_b.png)
 
 关于对接过程中的问题详情及方案,请通过[《Apache ShardingSphere 
对接京东白条实战》](https://mp.weixin.qq.com/s/4ehcDu6L_iNbxVtg4zyKSg)一文来了解。
 
@@ -174,4 +174,4 @@ DBRep 是 ShardingSphere-Scaling 产品设计的基石,Scaling 具备的自动
 -
 ShardingSphere 作为 Apache 基金会下的顶级开源项目,在 GitHub 上获得了超 14K Star 
的关注,已成为行业内受欢迎的开源项目,全球有超过 170 家企业用户登记使用,覆盖金融、电子商务、云服务、旅游、物流、教育、文娱等多个领域。
 
-* 欢迎更多技术团队约稿投稿,和大家分享使用 ShardingSphere 
的经验思考。如需转载请后台私信留言,对案例感兴趣的伙伴可联系社区经理(**ss_assistant_1**)回复“**加群**”进入技术交流群,我们也会不定期为社区发展做贡献的热心伙伴送上精美周边噢。
\ No newline at end of file
+* 欢迎更多技术团队约稿投稿,和大家分享使用 ShardingSphere 
的经验思考。如需转载请后台私信留言,对案例感兴趣的伙伴可联系社区经理(**ss_assistant_1**)回复“**加群**”进入技术交流群,我们也会不定期为社区发展做贡献的热心伙伴送上精美周边噢。
diff --git a/docs/blog/content/material/Oct_12_9_ShardingSphere_JD 
Baitiao_Story_of_an_Implementation_Journey.en.md 
b/docs/blog/content/material/Oct_12_9_ShardingSphere_JD 
Baitiao_Story_of_an_Implementation_Journey.en.md
index 6f7f7e6..ae4671a 100644
--- a/docs/blog/content/material/Oct_12_9_ShardingSphere_JD 
Baitiao_Story_of_an_Implementation_Journey.en.md    
+++ b/docs/blog/content/material/Oct_12_9_ShardingSphere_JD 
Baitiao_Story_of_an_Implementation_Journey.en.md    
@@ -50,7 +50,7 @@ The product continuously developed but the early solution had 
now become one of
 
 Therefore, the team decided to use a mature sharding component that simplifies 
system upgrades and architecture changes. To compare Baitiao's shard and 
ShardingSphere shard, their differences are shown in the following table.
 
-![](../../static/img/Blog_25_img_1_JD_VS_ShardingSphere_Table.en.png)
+![](https://shardingsphere.apache.org/blog/img/Blog_25_img_1_JD_VS_ShardingSphere_Table.en.png)
 
 For Baitiao, decoupling was the next task. 
 
@@ -86,7 +86,7 @@ ShardingSphere - JDBC provides the following features, making 
it the best soluti
 
 **Extensibility:** users can combine with the migration sync component to 
easily extend data.
 
-![](../../static/img/Blog_25_img_2_JD_ShardingSphere_JDBC_en.png)
+![](https://shardingsphere.apache.org/blog/img/Blog_25_img_2_JD_ShardingSphere_JDBC_en.png)
 
 After being systematically tested for several times, Apache ShardingSphere 
became JD Baitiao's first choice of data sharding middleware. The cooperation 
started at the end of 2018. 
 
@@ -122,7 +122,7 @@ Additionally, Apache ShardingSphere continues to optimize 
its other features in
 
 JD Baitiao & ShardingSphere teams joint efforts amde all indicators of the 
product live up to their expectation. The resulting final performance is almost 
the same as that of a native JDBC. 
 
-![](../../static/img/Blog_25_img_JD_System_en.png)
+![](https://shardingsphere.apache.org/blog/img/Blog_25_img_JD_System_en.png)
 
 
 ##Cutover

Reply via email to