Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Japanese Translation #114

Merged
merged 40 commits into from
Dec 2, 2017
Merged
Changes from 1 commit
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
b27106e
adding template file with name jp
Sep 15, 2017
4fa9960
translated till contributing
Sep 15, 2017
af10bfa
translated jp indexes
Sep 15, 2017
8c370f5
translated jp Study guide
Sep 15, 2017
b28a378
translation_ja How to approach a system design interview question
Sep 17, 2017
77c7eaf
translation_ja System design interview questions with solutions
Sep 18, 2017
a5d6dbc
translation_ja Object-oriented design interview questions with solutions
Sep 18, 2017
1470f91
translation_ja System design topics: start here
Sep 19, 2017
4f5657b
tlanslation_ja Consistency patterns
Sep 19, 2017
ce8b5bd
translate_ja load balancing
Sep 21, 2017
2bb4f60
translation_ja reverse [roxy
Sep 24, 2017
592f044
translation_ja application layer
Sep 24, 2017
9f19280
translation_ja replication
Sep 24, 2017
0d8dc0e
translation_ja federations sharding
Sep 25, 2017
b95cb1f
translation_ja denormalization
Sep 26, 2017
3542fc6
translation_ja SQLtuning
Sep 27, 2017
aaf6544
translation_ja sqltuning
Oct 3, 2017
4024f9c
translation_ja key-value store
Oct 6, 2017
e6374f5
translation_ja document store
Oct 10, 2017
f787093
translation_ja wide column store
Oct 10, 2017
927d42e
translation_ja graph
Oct 10, 2017
f6fab8b
translation_ja SQLandNoSQL
Oct 11, 2017
7b4bff1
translation_ja cache intro
Oct 12, 2017
64bac7d
translation_ja cache aside
Oct 12, 2017
7664929
transplation_ja cache
Oct 12, 2017
7561e49
translation_ja asynch
Oct 13, 2017
9a9c2ff
translation_ja http
Oct 13, 2017
e2af9a7
fix line
Oct 13, 2017
e1fa8b0
translation_ja tcp
Oct 13, 2017
448b73c
translation_ja udp
Oct 21, 2017
6e1f03e
translation_ja REST
Oct 21, 2017
689b404
translation_ja complete
Oct 27, 2017
e26ce90
fix indexlinks
Oct 27, 2017
78def49
translation_ja fix in links
Oct 27, 2017
3bcb851
translation_ja file name fix
Oct 27, 2017
2adbded
translation_ja added some lost translations
Oct 27, 2017
a3a8e5b
fixes
Nov 6, 2017
dbac187
fix
Nov 6, 2017
1d209c4
fix
Nov 24, 2017
289186a
fix linkl
Nov 24, 2017
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
translation_ja federations sharding
  • Loading branch information
tsukukobaan committed Sep 25, 2017
commit 0d8dc0ec7d158207cbc4a1fd7325f56bc0c7814c
40 changes: 20 additions & 20 deletions README-jp.md
Original file line number Diff line number Diff line change
Expand Up @@ -830,45 +830,45 @@ SQLなどのリレーショナルデータベースはテーブルに整理さ
<i><a href=https://www.youtube.com/watch?v=vg5onp8TU6Q>Source: Scaling up to your first 10 million users</a></i>
</p>

Federation (or functional partitioning) splits up databases by function. For example, instead of a single, monolithic database, you could have three databases: **forums**, **users**, and **products**, resulting in less read and write traffic to each database and therefore less replication lag. Smaller databases result in more data that can fit in memory, which in turn results in more cache hits due to improved cache locality. With no single central master serializing writes you can write in parallel, increasing throughput.
フェデレーション (もしくは機能分割化とも言う) はデータベースを機能ごとに分割する。例えば、モノリシックな単一データベースの代わりに三つのデータベースを持つことができます: **フォーラム**、 **ユーザー** そして **プロダクト**です。各データベースへの書き込み読み取りのトラフィックが減ることで複製ラグも短くなります。より小さなデータベースを用いることで、メモリーに収まるデータが増えます。ローカルキャッシュに保存できる量が増えることで、キャッシュヒット率も上がります。単一の中央マスターが書き込みの処理をしなくても、並列で書き込みを処理することができ、スループットの向上が期待できます。

##### Disadvantage(s): federation
##### 欠点: federation

* Federation is not effective if your schema requires huge functions or tables.
* You'll need to update your application logic to determine which database to read and write.
* Joining data from two databases is more complex with a [server link](http://stackoverflow.com/questions/5145637/querying-data-by-joining-two-tables-in-two-database-on-different-servers).
* Federation adds more hardware and additional complexity.
* 大規模な処理やテーブルを要するスキーマの場合、フェデレーションは効果的とは言えないでしょう。
* どのデータベースに読み書きをするのかを指定するアプリケーションロジックを更新しなければなりません。
* [server link](http://stackoverflow.com/questions/5145637/querying-data-by-joining-two-tables-in-two-database-on-different-servers)で二つのデータベースからのデータを連結するのはより複雑になるでしょう。
* フェデレーションでは追加のハードウェアが必要になり、複雑性も増します。

##### Source(s) and further reading: federation
##### その他の参考資料、ページ

* [Scaling up to your first 10 million users](https://www.youtube.com/watch?v=vg5onp8TU6Q)

#### Sharding
#### シャーディング

<p align="center">
<img src="http://i.imgur.com/wU8x5Id.png">
<br/>
<i><a href=http://www.slideshare.net/jboner/scalability-availability-stability-patterns/>Source: Scalability, availability, stability, patterns</a></i>
</p>

Sharding distributes data across different databases such that each database can only manage a subset of the data. Taking a users database as an example, as the number of users increases, more shards are added to the cluster.
シャーディングでは異なるデータベースにそれぞれがデータのサブセット断片のみを持つようにデータを分割します。ユーザーデータベースを例にとると、ユーザー数が増えるにつれてクラスターにはより多くの断片が加えられることになります。

Similar to the advantages of [federation](#federation), sharding results in less read and write traffic, less replication, and more cache hits. Index size is also reduced, which generally improves performance with faster queries. If one shard goes down, the other shards are still operational, although you'll want to add some form of replication to avoid data loss. Like federation, there is no single central master serializing writes, allowing you to write in parallel with increased throughput.
[federation](#federation)の利点に似ていて、シャーディングでは読み書きのトラフィックを減らし、レプリケーションを減らし、キャッシュヒットを増やすことができます。インデックスサイズも減らすことができます。一般的にはインデックスサイズを減らすと、パフォーマンスが向上しクエリ速度が速くなります。なにがしかのデータを複製する機能がなければデータロスにつながりますが、もし、一つのシャーどが落ちても、他のシャードが動いていることになります。フェデレーションと同じく、単一の中央マスターが書き込みの処理をしなくても、並列で書き込みを処理することができ、スループットの向上が期待できます。

Common ways to shard a table of users is either through the user's last name initial or the user's geographic location.
ユーザーテーブルをシャードする一般的な方法は、ユーザーのラストネームイニシャルでシャードするか、ユーザーの地理的配置でシャードするなどです。

##### Disadvantage(s): sharding
##### 欠点: シャーディング

* You'll need to update your application logic to work with shards, which could result in complex SQL queries.
* Data distribution can become lopsided in a shard. For example, a set of power users on a shard could result in increased load to that shard compared to others.
* Rebalancing adds additional complexity. A sharding function based on [consistent hashing](http://www.paperplanes.de/2011/12/9/the-magic-of-consistent-hashing.html) can reduce the amount of transferred data.
* Joining data from multiple shards is more complex.
* Sharding adds more hardware and additional complexity.
* シャードに対応するようにアプリケーションロジックを変更しなければなりません。結果としてSQLクエリが複雑になります。
* シャードではデータ配分がいびつになってしまう可能性があります。例えば、標準ユーザーの集合を持つシャードがある場合、そのシャードが他のシャードよりも重い負荷を負うことになります。
* リバランシングをすると複雑性がより増します。[consistent hashing](http://www.paperplanes.de/2011/12/9/the-magic-of-consistent-hashing.html) に基づいたシャーディングでは、通信データを削減することもできます。
* 複数のシャードからのデータを連結するのはより複雑です。
* シャーディングでは追加のハードウェアが必要になり、複雑性も増します。

##### Source(s) and further reading: sharding
##### その他の参考資料、ページ

* [The coming of the shard](http://highscalability.com/blog/2009/8/6/an-unorthodox-approach-to-database-design-the-coming-of-the.html)
* [Shard database architecture](https://en.wikipedia.org/wiki/Shard_(database_architecture))
* [シャードの登場](http://highscalability.com/blog/2009/8/6/an-unorthodox-approach-to-database-design-the-coming-of-the.html)
* [シャードデータベースアーキテキチャ](https://en.wikipedia.org/wiki/Shard_(database_architecture))
* [Consistent hashing](http://www.paperplanes.de/2011/12/9/the-magic-of-consistent-hashing.html)

#### Denormalization
Expand Down