並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 116件

新着順 人気順

シャーディングの検索結果1 - 40 件 / 116件

  • シンプルで移行しやすいデータベースシャーディング - クックパッド開発者ブログ

    技術部の小野(taiki45)です。クックパッドではこれまで様々なデータベースの負荷対策を行ってきましたが、シャーディングは行われていませんでした。しかし先日クックパッドの認可サーバーが利用している MySQL サーバーの負荷分散のためにクックパッドで初めてのシャーディングを行ったので、Rails アプリケーションでのシャーディングの事例のひとつとしてその際の手法をご紹介したいとおもいます。 構成 Before データベースは1マスター、1ホットスタンバイ、バッチ用の1リードレプリカで構成されています。Read オペレーションのほとんどはキャッシュ層に逃しています。 After データベースの各ロールにつきそれぞれ1台ずつマシンが増えています。 シャーディングが必要になった背景 認可サーバーのアクセストークンの作成・削除時の Write オペレーションが急増し、レコード数自体も急増していて

      シンプルで移行しやすいデータベースシャーディング - クックパッド開発者ブログ
    • ゲーム業界のデータベース事情。大量のシャーディングで複雑化する負荷分散、メンテナンスで止めないとスケールアップ・ダウンができないなどの課題。解決方法は?[PR]

      ゲーム業界のデータベース事情。大量のシャーディングで複雑化する負荷分散、メンテナンスで止めないとスケールアップ・ダウンができないなどの課題。解決方法は?[PR] 日常的に多数の同時アクセスが発生し、大量のデータが蓄積されるオンラインゲームのバックエンドは、データベースにとってもっとも過酷な環境の1つだといえます。 このバックエンドデータベースとしてよく使われているのがMySQLデータベースです。しかしその使われ方は一般的なMySQLとは異なり、データベースを細かく分割して多数のサーバに負荷を分散するシャーディングと呼ばれる仕組みを構築するなど、複雑なシステム構築と運用が行われているのが現実です。 そこで急速に注目度を高めているのが、MySQL互換でありつつ分散データベースの機能を備え、シンプルなクラスタ構成で高い負荷に耐える、いわゆる「NewSQL」と呼ばれる分野の代表的なデータベースの1

        ゲーム業界のデータベース事情。大量のシャーディングで複雑化する負荷分散、メンテナンスで止めないとスケールアップ・ダウンができないなどの課題。解決方法は?[PR]
      • MySQL Spiderエンジンを使ってみた。〜データベースシャーディング(sharding)とは〜 - 気ままに書いてみました日記

        もしかしたら使うかもしれないので調べてみた。 shard 日本語に訳すと(ガラスや貝殻の) 「破片」といったような意味 データベースをshardに分解して複数のサーバに分散して運用するのがDB sharding データベースパーティショニングとも言えるのかしら? 単一のサーバのDBテーブルを複数のファイルに分割するのをパーティショニングとも呼ぶが、「パーティショニング」という言葉を使ってDB shardingのことを言っているブログ等もちらほら見かけます。 より突っ込んでみたい人は「shared nothing」でぐぐってネ。 なぜデータベースを分散処理するのか 横軸にはサービス運用開始からの時間経過を設定し、縦軸には「DBの応答時間」、「DBへの問い合わせ数」、「DBサイズ」の各数量をとります。サービスが順調に利用されていっているものとし、「DBサイズ」や「DBへの問い合わせ数」は時間経

          MySQL Spiderエンジンを使ってみた。〜データベースシャーディング(sharding)とは〜 - 気ままに書いてみました日記
        • 第25回 MongoDB最前線! 効果的なシャーディングとバックアップ | gihyo.jp

          「MongoDB」は、スキーマレスであることやスケールアウトが容易なこと、さらにレプリケーションのしくみが用意されているといった特徴から急速に人気を集めている、オープンソースのドキュメント指向データベースです。第21回で、MongoDBの基本的なしくみや開発時における注意点などをサイバーエージェントの技術者に解説していただきました。今回は後編ということで、運用時におけるポイントについて伺っていきます。 Ameba PicoやピグライフでMongoDBを実運用 サイバーエージェントにおいて、MongoDBはすでにいくつかのプロジェクトで活用されていますが、その1つにアメリカ向けのアメーバピグであるAmeba Picoが挙げられます。松下雅和氏は2011年1月に入社し、このAmeba Picoの運用にアサインされたことでMongoDBを使うことになったと話します。 「前職ではMongoDBを使

          • MySQLのシャーディングを実現する「MySQL Fabric」をリリース、米オラクル

            大規模なWebアプリケーションのバックエンドでは、データを分割して複数のデータベースで運用することによりスケーラブルな運用を実現する「シャーディング」と呼ばれる技術がよく使わています。 米オラクルはMySQLでこのシャーディングを実現するソフトウェア「MySQL Fabric」を含む「MySQL Utilities」をリリースしました。 PHP、Java、Pythonに対応 MySQL Fabricは基本的にデータのレプリケーションを活用してシャーディングをするフレームワーク。データの範囲あるいはハッシュ値を分割キーとして用いたシャーディングを実現します。 アプリケーションからMySQL Fabricを利用するには、専用のコネクタを用いて接続する必要があります。コネクタは現在、Python、Java、PHPに対応しており、今後ほかの言語にも対応予定。 MySQL Fabricには、全体を管

              MySQLのシャーディングを実現する「MySQL Fabric」をリリース、米オラクル
            • MySQL 5.7のマルチソースレプリケーションを活用する - 無停止でシャーディングを解消 - 猫でもわかるWebプログラミングと副業

              はじめに この記事は ドワンゴ Advent Calendar 2017 - Qiita の15日目の記事です。 昨日の記事は ytanaka さんの Goadを使った負荷試験とパフォーマンス分析手法について - Qiita でした。 自己紹介 ドワンゴでニコニコ動画の開発をしています。 *1 去年もアドベントカレンダー書いてました→ LGTM画像を驚くほど簡単に作れるWebサービスをScalaで作る - Qiita DBすき yoshikyoto (Yoshiyuki Sakamoto) · GitHub うたかた/ヨシキ (@yoshiki_utakata) | Twitter 背景 昔々あるところに、以下のような構成のサーバーがありました Webサーバー(アプリケーションサーバー)とDBサーバーからなる。 DBに入っているデータはユーザーIDでシャーディングされている。*2 どのデー

                MySQL 5.7のマルチソースレプリケーションを活用する - 無停止でシャーディングを解消 - 猫でもわかるWebプログラミングと副業
              • InstagramのIDシャーディングについて

                約1年前の Instagram Engineering Blog で ID のシャーディングについて解説されていたのでメモ。 Sharding & IDs at Instagram http://instagram-engineering.tumblr.com/post/10853187575/sharding-ids-at-instagram 背景 毎秒大量に行われる写真投稿やユーザーの行動をデータベースに保存するために、Instagram ではシャーディングを行なっている。 データベースにデータ格納するにあたり、シャードが別であっても、写真といったコンテンツごとにユニークなIDを振らないといけない。 Before writing data into this set of servers, we had to solve the issue of how to assign uniqu

                • TiDBによる大規模ログデータ管理の挑戦!シャーディングなしで大量インサートをさばくには? - LINE株式会社 - TiDB User Day 2023

                  イベント開催日:2023年7月7日 講演者:LINE株式会社 ITSC データベース室 MySQL 1チーム ソフトウェアエンジニア 大塚 知亮 氏 本スライドでは、TiDBで大量のログデータを管理するRDBとして、MySQL及びTiDBを検証した過程と結果、そしてオンプレでの運用方法について発表します。通常、超大量のデータ挿入や更新が発生するアプリケーションにMySQLを利用する場合、適切なデータ量や負荷を基準にシャーディングを行って対応します。しかし、それによってシャードを意識したクエリの発行が必要になるだけでなく、シャードをまたいだデータのジョインや整合性の担保に頭を悩ませることになります。この一つの解決策として、MySQL互換の分散データベースであるTiDBは魅力的な選択肢です。このスライドでは、LINEでシャーディングなしで高負荷案件に対応するために、どのように検証し、オンプレで

                    TiDBによる大規模ログデータ管理の挑戦!シャーディングなしで大量インサートをさばくには? - LINE株式会社 - TiDB User Day 2023
                  • 負荷を均すための『時間軸シャーディング』という考え方 - プログラムモグモグ

                    ウェブアプリケーションを作っていると、負荷を分散させるために「タイミングをばらけさせる」場面に時々遭遇します。 データの更新、キャッシュのフラッシュ、バッチ処理など様々な問題で、同じ構造が見られます。 例えば、スマホアプリからバックグラウンドで1時間ごとに何らかの情報をサーバーに送りたいとします。 愚直に毎時0分に更新処理を行うようにすると、すべてのユーザーから同じタイミングでリクエストが来てしまいます。 ですから、リクエストのタイミングをユーザーごとにばらして負荷を均す必要があります。 他のケースを考えます。 5分ごとにジョブを投入して何らかの更新を行うタスクがあるとします。 本来ならデータベースに更新を行いたいのですが、データベースのハードウェアの限界が近いので、更新データをまずキャッシュに乗せるようにしました。 何らかのタイミングでキャッシュからデータベースにフラッシュする必要があり

                      負荷を均すための『時間軸シャーディング』という考え方 - プログラムモグモグ
                    • シャーディングを実現するSpiderストレージエンジン、MariaDBがバンドル開始 - Publickey

                      データベースのスケーラビリティを改善する代表的な方法として、データを分割して複数のサーバで処理する「シャーディング」があります。そのシャーディング機能を持つMySQLストレージエンジンが「Spider」が、MySQL互換のMariaDBにバンドルされると、開発者である斯波健徳(しばけんとく)氏のブログにポストされた記事「[MariaDB][Spider]SpiderがMariaDBにバンドルされました」(8月23日付け)で紹介されています。 Spiderストレージエンジンの概要は、MySQLについていつも詳しい解説をしてくれるブログ「漢のコンピュータ道」の2010年3月のエントリ「Not Only NoSQL!! 驚異的なまでにWRITE性能をスケールさせるSPIDERストレージエンジン」などで分かりやすく説明されていますが、簡単に言えばデータベースに対する参照や更新などの処理を複数のデー

                        シャーディングを実現するSpiderストレージエンジン、MariaDBがバンドル開始 - Publickey
                      • JDBCレイヤでDBのシャーディングを行うsharding-jdbcを試してみた - たけぞう瀕死ブログ

                        DBのデータ量が増えてきた場合の対策の1つとしてユーザIDなどをキーにデータベースを分割するシャーディングと呼ばれる手法があります。これをJDBCのレイヤで実現してしまうsharding-jdbcというライブラリを見つけました。 github.com sharding-jdbcは中国のdangdang(当当)というEC大手企業が開発したOSSで、SQLをパースし、SQLに含まれるシャードキーを抽出して接続先のデータベースや、参照するテーブルを切り替えてくれるというものです。 使ってみる まずはpom.xmlに以下の依存関係を追加します。 <dependency> <groupId>com.dangdang</groupId> <artifactId>sharding-jdbc-core</artifactId> <version>1.4.1</version> </dependency>

                          JDBCレイヤでDBのシャーディングを行うsharding-jdbcを試してみた - たけぞう瀕死ブログ
                        • データベースのシャーディングを自動運用してくれる「Azure SQL Database Elastic Scale」が公開

                          データを分割して複数のデータベースサーバで分散処理することで高いスケーラビリティを実現する手法「シャーディング」が、Microsoft Azureの新機能「Azure SQL Database Elastic Scale」としてプレビュー公開されました。 シャーディングの処理は一般に、データの分割方法や分割したシャードごとのデータベースサーバの割り当て、データベースサーバに割り当てた後で負荷に偏りが出た場合のシャードの再分割やマージなど、さまざまな複雑な処理と運用を自前で行わなければならず、手間の掛かる手法の1つでした。 Azure SQL Database Elastic Scaleは、こうしたシャードの管理や負荷に応じた分割やマージといった運用を自動的に行ってくれると同時に、シャーディングを利用するためのライブラリも提供。Azure SQL Database Elastic Scale

                            データベースのシャーディングを自動運用してくれる「Azure SQL Database Elastic Scale」が公開
                          • MongoDB 5.0が登場。時系列データ対応、実行中のシャーディング変更に対応など

                            MongoDB社は、同名のNoSQLデータベースの最新版となる「MongoDB 5.0」のリリースを発表しました。MongoDB 5.0はオンプレミス用と、クラウドサービス「MongoDB Atlas」の両方で提供されます。 Breaking News - CTO @MarkLovesTech announces the release of MongoDB 5.0! Introducing new workloads Future proof apps Next-gen privacy pic.twitter.com/bZhv7vw8kt — MongoDB (@MongoDB) July 13, 2021 MongoDBは、さまざまな種類が存在するNoSQLデータベースの中でも、ドキュメント指向データベースとしてJSON形式のデータ格納を中心としたデータベースです。JSONを用いること

                              MongoDB 5.0が登場。時系列データ対応、実行中のシャーディング変更に対応など
                            • LINEマンガのデータベースをシャーディングしました (データベースエンジニア編)

                              LINE株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。 LINEヤフー Tech Blog はじめに こんにちは、データベース室の小田です。 今回はLINEマンガのデータベースをシャーディングした作業について、サーバエンジニア編とデータベースエンジニア編に分けてご紹介したいと思います。 本エントリでは、シャーディングに至った経緯、データベースエンジニア側で検討したことについて書いていこうと思います。 シャーディングに至った経緯 サービスを引継ぐ 前段として少し昔の話をします。私がLINEマンガの担当データベースエンジニアとなったのは、2018年2月中旬のことでした。 LINEマンガのサービス開始が、2013年4月9日だということですので、ちょうど5周年を迎える直前ですね。前任者からは、いいタイミングだからということで

                                LINEマンガのデータベースをシャーディングしました (データベースエンジニア編)
                              • Auroraのような設計のRDBMSにおいて,LSNの発行はmaster nodeで行わないといけないがために書き込みnodeは一台に制限される(DB管理者が手動でシャーディングするケースは別と指定)という理解は正確ですか? | mond

                                Auroraのような設計のRDBMSにおいて,LSNの発行はmaster nodeで行わないといけないがために書き込みnodeは一台に制限される(DB管理者が手動でシャーディングするケースは別と指定)という理解は正確ですか? データベースを専門としない人からパワポ絵の解像度でこの質問がされたなら「はい大体そんな感じです」と答えるのですが、わざわざ僕宛に質問をしている時点で質問者はただものではないので詳しく説明します。 まず「LSNをmaster nodeが発行する」の所から正しくないのではないかと思います。手元でRDBMSを作った時の知見ですが、ログデータはリカバリのために任意のLSNからそのログの実体までを高速に索引できる必要があり、その際の一番合理的な実装は「ログのオフセットをそのままLSNにする」という方法です。そして、ログのオフセットを取得する一番簡単な方法は「エンキューが成功した

                                  Auroraのような設計のRDBMSにおいて,LSNの発行はmaster nodeで行わないといけないがために書き込みnodeは一台に制限される(DB管理者が手動でシャーディングするケースは別と指定)という理解は正確ですか? | mond
                                • LINEマンガのデータベースをシャーディングしました (サーバーアプリケーション編)

                                  LINE株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。 LINEヤフー Tech Blog はじめに こんにちは、LINEマンガ開発の伊藤です。 今回はLINEマンガのデータベースをシャーディングした作業について、サーバーエンジニア編とデータベースエンジニア編に分けてご紹介したいと思います。 本エントリでは、シャーディングに至った経緯や対応方針、アプリケーション側で改修したことについて書いていこうと思います。 LINEマンガとは 「LINEマンガ」は、アプリやWEBブラウザ、LINE上でマンガ作品が楽しめる電子コミックサービスです。 2013年4月にサービスを開始し、2019年4月9日で6周年を迎えました(*1)。 250社以上の出版社・レーベルを通じて現在までに38万点以上のマンガを配信し、ダウンロード数は国内で2

                                    LINEマンガのデータベースをシャーディングしました (サーバーアプリケーション編)
                                  • 第5回 MongoDBのシャーディングを試してみよう | gihyo.jp

                                    はじめに 今回は、MongoDBのシャーディングについて説明します。 シャーディングとは、データを複数のサーバに分散させる機能です。今回は、最初にシャーディングのメリットを説明し、続けてシャーディングの概要、さらにシャーディングに登場する重要キーワードを解説します。2ページ目以降ではシャーディングの構築手順について解説します。 シャーディングはMongoDBの機能の中でも重要かつ複雑なもののひとつです。手元の環境で構築することが、シャーディングを理解する大きな助けになりますので、本記事を参考にぜひ構築してみてください。 シャーディングのメリット シャーディングはMongoDBを水平スケーリングさせる機能で、以下のようなメリットをもたらします。 負荷分散による性能の向上 データを複数のサーバに分散させることにより、CPUやI/O負荷を分散させることが可能です。後述しますが、MongoDBはキ

                                      第5回 MongoDBのシャーディングを試してみよう | gihyo.jp
                                    • 高可用性とデータ・シャーディングを実現できるMySQL Fabricとは?

                                      Full Name Comment goes here. 12 hours ago Reply Edit Delete Spam Block 高可用性とデータ・シャーディングを実現できるMySQL Fabricとは? Presentation Transcript 高可用性とデータ・シャーディングを 実現できるMySQL Fabricとは? 日本オラクル株式会社 山崎 由章 / MySQL Senior Sales Consultant, Asia Pacific and Japan Copyright © 2014, Oracle and/or its affiliates. All rights reserved.2 以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。 また、情報提供を唯一の目的とするものであり、いかなる契約にも組み込むことは できません。以下の事

                                        高可用性とデータ・シャーディングを実現できるMySQL Fabricとは?
                                      • 高可用性とデータ・シャーディングを実現できるMySQL Fabricとは?

                                        MySQL Fabricは、MySQLサーバー群を管理する統合型のフレームワークです。MySQL Fabricを使うことにより、高可用性(HA)とデータ・シャーディングによる拡張性を実現できます。 MySQLのレプリケーション機能を使って高可用性構成を実現している場合、マスターのサーバーに障害が発生した時に、スレーブのサーバーを新しいマスターに昇格させるフェイルオーバー処理が必要になります。このフェイルオーバー処理を自動化するために、MySQL 5.6ではMySQL Utilities(※)にmysqlfailoverという機能が追加されました。 ※MySQL Utilitiesは、Pythonでかかれた便利なスクリプト集です。詳細は以下の記事も参考にして下さい。 [参考]Pythonで作られた便利なコマンドラインツール MySQL Utilities mysqlfailoverを使うこと

                                          高可用性とデータ・シャーディングを実現できるMySQL Fabricとは?
                                        • データベース用語の「シャーディング」はMMORPGの「ウルティマオンライン」が由来かもしれない

                                          1つのテーブルを複数のデータベースサーバーに分割して記録するデータベースの負荷分散方法を「シャーディング」と呼びます。このシャーディングという言葉が、老舗大規模多人数同時参加型オンラインRPG(MMORPG)の「ウルティマオンライン」に由来していることを、ウルティマオンラインのゲームデザイナーだったラフ・コスター氏が解説しています。 Database “sharding” came from UO? – Raph's Website https://www.raphkoster.com/2009/01/08/database-sharding-came-from-uo/ コスター氏によると、「シャーディング」という言葉の用例をGoogleで検索した中で最も古いものが、2009年に書かれたFriendstarとFlickrの元従業員だったエンジニアのブログだったそうです。Flickrは今でこ

                                            データベース用語の「シャーディング」はMMORPGの「ウルティマオンライン」が由来かもしれない
                                          • SREによるElasticsearchのQCD改善!シャーディング最適化とオートスケーラー開発の取り組み - ZOZO TECH BLOG

                                            はじめに こんにちは、SRE部 検索基盤SREブロックの花房と大澤です。普段はZOZOTOWNの検索関連マイクロサービスのインフラ運用を担当しています。 ZOZOTOWNの検索基盤では、商品検索に関わる大規模なデータを取り扱うためにElasticsearchを利用しています。Elasticsearchを運用していく中で、私たちはパフォーマンスとインフラコスト、運用トイルの問題に直面していました。本記事では、私たちが抱えていた問題と、それを解決したアプローチとしてシャーディング最適化とオートスケーラー開発の取り組みについてご紹介します。 目次 はじめに 目次 背景・課題 パフォーマンスの課題 インフラコストの課題 運用トイルの課題 解決策 シャーディング最適化 Elasticsearchのシャーディング ノードのインスタンスタイプ変更 負荷試験によるパフォーマンス検証 コスト見積 安全なリリ

                                              SREによるElasticsearchのQCD改善!シャーディング最適化とオートスケーラー開発の取り組み - ZOZO TECH BLOG
                                            • シャーディングされたシステムをAuroraに集約してリソースの消費を削減 | Amazon Web Services

                                              Amazon Web Services ブログ シャーディングされたシステムをAuroraに集約してリソースの消費を削減 リレーショナルデータベースを利用したワークロードで、スケーリングを考えないといけなくなった時に、一般的にスケールアップとスケールアウトと2つの手法が上げられます。一般的にスケールアップの方が簡単に行えます(単純にスペックのいいマシンを購入するなど)。一方スケールアウトは、それぞれ独立したホストで稼働している複数のサーバへ、データベースをシャーディングする必要があり作業が煩雑になります。 難しさにも関わらずスケールアウトとが最近のトレンドとなってきています。コモディティハードウェアとシステムリソースへの要求の増加に伴いワークロードを効率的にシャーディングする必要が出てきました。シャーディングされたシステムの1つの欠点として管理コストがあげられます。もし4つのシャードを持っ

                                                シャーディングされたシステムをAuroraに集約してリソースの消費を削減 | Amazon Web Services
                                              • [37signals] Moore氏はシャーディングを蹴飛ばす

                                                (原文: Mr. Moore gets to punt on sharding) シャーディングは大規模データベースをより小さなものに分割するデータベース構築手法だ。でかい鉄のかたまりのような1台のマシンに100万人ぶん格納する代わりに、より小さな個別の10台のマシンに10万人ぶんづつ格納する。 この手法については一般に、必要に迫られるまで手を出すな、と言われている。Martin Fowler(訳注: リファクタリングでおなじみ)が分散オブジェクト設計の第一法則として「オブジェクトを分散させるな」と言っているのと似たようなものだ。シャーディングはいまだに他の手法と比べて難しいし、支援ツールは貧弱だし、あきらかにセットアップ作業が複雑化する。 まぁ、選択の余地がなくなる日が来るのは避けられないのだということは常に意識してはいる。上方向への拡大(訳注: マシンのパフォーマンス向上などのことか)

                                                • 第6回 レプリケーション+シャーディングでMongoDBをもっと使いこなす | gihyo.jp

                                                  概要 本連載では第4回ではレプリケーション、第5回ではシャーディングについて説明してきましたが、今回はレプリケーションとシャーディングを組み合わせた構成について紹介します。この構成を取ることにより、データを冗長化させつつも、分割して配置することができるため、可用性と読み取り性能を両方向上させることができます。 前回のシャーディングの構成では、単一のmongodをシャーディングサーバに割り当てていましたので、その1つのmongodが障害になると、シャーディングの機能が停止してしまうという問題がありました(図1参照⁠)⁠。 図1 これを解決するために、シャーディングサーバに単一のmongodではなくレプリカセットを割り当てます。これによりレプリカセット内のmongodに障害が発生してもシャーディングの機能が停止しない構成にすることができます(図2参照⁠)⁠。 図2 さらに信頼性を高めたい場合は

                                                    第6回 レプリケーション+シャーディングでMongoDBをもっと使いこなす | gihyo.jp
                                                  • Amazon Relational Database Service を使用したシャーディング | Amazon Web Services

                                                    Amazon Web Services ブログ Amazon Relational Database Service を使用したシャーディング 水平パーティション分割とも呼ばれるシャーディングは、リレーショナルデータベースの一般的なスケールアウトアプローチです。Amazon Relational Database Service (Amazon RDS) は、クラウドでシャーディングを使いやすくするための優れた機能を提供するマネージド型リレーショナルデータベースサービスです。この記事では、Amazon RDS を使用してデータストレージの高いスケーラビリティ、高可用性、およびフォールトトレランスを実現するために、シャードデータベースアーキテクチャを実装する方法について説明します。Amazon RDS をデータベースシャードとしてデプロイする際のスキーマ設計とモニタリングメトリクスに関する考

                                                      Amazon Relational Database Service を使用したシャーディング | Amazon Web Services
                                                    • AWSがサーバーレスDBの新機能、シャーディングの自動化など実装

                                                      米Amazon Web Services(アマゾン・ウェブ・サービス、AWS)は2023年11月27日(米国時間)、年次イベント「AWS re:Invent 2023」の初日の基調講演で、サーバーレスのデータベース(DB)に関する新機能を3種類発表した。独自開発の新しいハイパーバイザー「Caspian」が使われている。 27日に講演したのは、AWSのPeter DeSantis(ピーター・ディサンティス)シニア・バイス・プレジデント(SVP)だ。ディサンティスSVPは例年、独自ハードウエアについて講演しているが、今年はサーバーレスのDBに関連する新機能と、それを実現するためにAWSが独自に開発した新技術について多くの時間を割いて解説した。

                                                        AWSがサーバーレスDBの新機能、シャーディングの自動化など実装
                                                      • Vitess と Kubernetes でクラウド ネイティブな MySQL シャーディング

                                                        Google Cloud Platform (Google App Engine, Compute Engine, BigQuery や Container Engine など)の情報の日本公式ブログ

                                                          Vitess と Kubernetes でクラウド ネイティブな MySQL シャーディング
                                                        • シャーディングにおける性能(前編)

                                                          シャーディングの性能を考えるためには、まず仕組みを完全に理解している必要があります。そこで今回はシャーディングの仕組みを丁寧に解説し、次回シャーディングにおける性能の考え方やアンチパターンを紹介していきます。 本記事は中級編ですので、シャーディングの用語や動作概要はすでに理解しているものとして説明を行います。 シャーディングすべき時 本連載の冒頭でも伝えたとおり、MongoDBの大原則は「できるだけシャーディングしないこと」です。その理由はシャーディングが難しいためです。シャーディング構成は単体構成やレプリケーション構成と比較して遥かに複雑です。また性能を出すために入念な設計が必要です。加えてバックアップが困難になります。これはMongoDBに限った話ではなく、どんなDBMSでもシャーディングは難しいチャレンジングな機能です。 そのため、多くのMongoDBユーザはシャーディングは行ってい

                                                            シャーディングにおける性能(前編)
                                                          • 日本語:Mongo dbに於けるシャーディングについて

                                                            MongoDBを用いたソーシャルアプリのログ解析 〜解析基盤構築からフロントUIまで、MongoDBを最大限に活用する〜Takahiro Inoue

                                                              日本語:Mongo dbに於けるシャーディングについて
                                                            • MongoDB 1.6にはシャーディングとレプリカセットが追加された

                                                              Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。この本では、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

                                                                MongoDB 1.6にはシャーディングとレプリカセットが追加された
                                                              • SpringのAbstractRoutingDataSourceを使ってシャーディングっぽいことをしてみる! - Qiita

                                                                SpringのAbstractRoutingDataSourceを使ってシャーディングっぽいことをしてみる!JavaspringSpringBoot 今回は、Springが提供しているAbstractRoutingDataSource + Spring AOPを利用して、アプリケーションレイヤでシャーディングっぽいことを実現する方法を紹介します。 シャーディングはデータを複数のサーバに(透過的に?)分散させる機能のことで、負荷分散による性能向上やリソース分散によるコストパフォーマンス向上などを目的に使います。本エントリーではアプリケーションレイヤでシャーディングっぽいことを実現する方法を紹介しますが、RDBMS、NoSQL、KVSなど自体にシャーディング機能をもっていることも多いため、まずはインフラストラクチャレイヤでシャーディングを実現する方法を検討する方がよいと思います!! 動作検証バ

                                                                  SpringのAbstractRoutingDataSourceを使ってシャーディングっぽいことをしてみる! - Qiita
                                                                • 【MySQL】Spiderストレージエンジンによる水平分散(シャーディング) - 株式会社オーツー|スタッフブログ

                                                                  どうも、開発2部サーバー担当の山本です。 皆さんDBの水平分散は行ってますか? 最近ではサービス開始時点から水平分散しているタイトルも割と多いのではないでしょうか。ユーザーやデータが増えるのはサービスが好調な証ではありますが、いざ対応しようと思うと大変ですよね。 今回はMySQLのストレージエンジンであるSpiderを使った水平分散(以下シャーディング)について紹介したいと思います。 Spiderとは Spiderは2009年にver1.0がリリースされた国産のMySQLストレージエンジンで、MySQL以外にもMariaDBとOracleに対応しています。 MySQLにはInnodbを代表にMyISAM、MEMORYなど様々な特徴を持ったストレージエンジンが用意されていますが、Spiderの特徴はストレージエンジンがシャーディングに対応していることです。 ここ最近は皆さんAWSのAuror

                                                                    【MySQL】Spiderストレージエンジンによる水平分散(シャーディング) - 株式会社オーツー|スタッフブログ
                                                                  • データベース シャーディングの基本

                                                                    Microsoft は、Azure SQL Database 用の Elastic Database ツール プレビューを最近公開しました。これは、Azure データベースでシャーディングされたデータベース ソリューションを作成するためのクライアント ライブラリおよび管理ツールです。カスタムのシャーディング技法を使用するか、Elastic Database ツールを使用するかにかかわらず、シャーディングの原則に関するこの詳細な概要とベスト プラクティスが該当します。 多くのアプリケーション ワークロードは時間の経過と共に変化するリソースの使用によって特徴付けられます。使用率のピーク時は、日、週、月、および外部のイベントによって異なる場合があります。大規模なスポーツ イベントやオンライン販売でも使用率が急増する場合があります。従来のオンプレミス テクノロジを使用して、IT 部門では通常、最悪

                                                                      データベース シャーディングの基本
                                                                    • レプリケーションとシャーディング、MySQLでレプリケーションの張り方 - 猫でもわかるWebプログラミングと副業

                                                                      この記事は、 MySQL Casual Advent Calendar 2017 4日目の記事です。 1日前の記事はこちら→MySQL 8.0でカジュアルにウインドウ関数(rank, dense_rank) | キムラデービーブログ 僕の記事は、超初心者向けに、レプリケーションとシャーディングについての説明と、MySQLでのレプリケーションの張り方を解説します。 レプリケーションとシャーディングの違い レプリケーション シャーディング サーバーの台数を増やしづらい 結局両方のDBサーバーにクエリを投げなければいけない時がある 実際にレプリケーションを張ってみる GTIDではないレプリケーション レプリケーション用ユーザーを作成する masterのバイナリログのファイルとポジションを確認する slaveとmasterの間でレプリケーションを張る 試しにレプリケーションされているか確認してみる

                                                                        レプリケーションとシャーディング、MySQLでレプリケーションの張り方 - 猫でもわかるWebプログラミングと副業
                                                                      • Kubernetesオブジェクトのメトリクスを提供する「kube-state-metrics」で使われているシャーディング手法

                                                                        本記事は、TechFeed Experts Night#7 〜 コンテナ技術を語るのセッション書き起こし記事になります。 イベントページのタイムテーブルから、その他のセッションに関する記事もお読み頂けますので、一度アクセスしてみてください。 本セッションの登壇者 セッション動画 今から**kube-state-metricsに使われているシャーディング(Sharding)**について話していきます。発表者は黒澤といいます。今はZ Labという会社でKubernetesプラットフォームの開発をしたりしています。 kube-state-metricsとシャーディング kube-state-metricsについて改めておさらいなんですが、KubernetesのAPIサーバを監視して各種オブジェクトの状態のメトリクスを提供してくれるコンポーネントです。Kubernetesを運用されている方ならお馴

                                                                          Kubernetesオブジェクトのメトリクスを提供する「kube-state-metrics」で使われているシャーディング手法
                                                                        • オラクル、シャーディングを利用したグローバルな分散DBの新サービス「Oracle Globally Distributed Autonomous Database」正式サービス開始

                                                                          オラクル、シャーディングを利用したグローバルな分散DBの新サービス「Oracle Globally Distributed Autonomous Database」正式サービス開始 オラクルはデータベースを複数のシャードに分割し、それぞれをグローバルに分散させつつ全体を1つの論理的なデータベースとして扱えるOracle Cloudの新サービス「Oracle Globally Distributed Autonomous Database」を正式サービスとして提供開始しました。 Find out how you can more easily address data sovereignty requirements and achieve the highest possible scale and availability with @Oracle Globally Distribute

                                                                            オラクル、シャーディングを利用したグローバルな分散DBの新サービス「Oracle Globally Distributed Autonomous Database」正式サービス開始
                                                                          • シャーディング - Qiita

                                                                            データベースにおける分割手法の1つで、データを複数のノードのディスクに分割配置することで、データベースへのリクエストを分散し全体のスループットを上げる目的で利用されます。 基本的にはお互いのノードではシェアードナッシングの独立したデータを持っているので、各ノードは自分の担当するデータに対してクエリを実行します。 具体的には、アプリケーションからの書き込みのリクエストが支配的で、Primary/Backupのような処理系統によるルーティングではあまり負荷の分散に繋がらないようなケースで利用されます。 e.g) - スケールしたアプリケーションサーバからの同時接続数の限界 - 巨大なデータを扱う際にbufferが溢れDisk/IOが発生する (appendix) Primary/Backup (Master/Slave) アプリケーションの処理の系統によって接続先のデータベースノードを切り替え

                                                                              シャーディング - Qiita
                                                                            • mongodb3.2でシャーディングを複数台で実践してみた - PR TIMESデザイナー&エンジニアブログ BREAK TIMES

                                                                              あけましておめでとうございます!! チーフエンジニアの落合です! それでは、新年1発目のネタですが・・・・MongoDB3.2です! 現在、PR TIMESで扱っているサービスに、MongoDBを導入検討を行っております。 導入する事を前提に、複数台のサーバーを用いて、 シャーディング構成(レプリカセットは無し)を作成しましたので、 本日は、構築手順を報告したいと思います。 前提 まずは、以下の通りに3台のVPSを開発環境として用意しています。 今回は、さくらインターネットのVPSを使用し、スイッチを使ってプライベートネットワークを構築しています。 サーバー名* プライベートIP* OS* mongo01 192.168.0.1 Centos6.5 mongo02 192.168.0.2 Centos6.5 mongo03 192.168.0.3 Centos6.5 インストール手順 Mo

                                                                                mongodb3.2でシャーディングを複数台で実践してみた - PR TIMESデザイナー&エンジニアブログ BREAK TIMES
                                                                              • Amazon Auroraのシャーディングによる負荷分散を、スケーラブルなNewSQLデータベース「TiDB」で置き換えへ。高負荷なオンラインゲームにも耐えると評価[PR]

                                                                                Amazon Auroraのシャーディングによる負荷分散を、スケーラブルなNewSQLデータベース「TiDB」で置き換えへ。高負荷なオンラインゲームにも耐えると評価[PR] 複数のデータベースに負荷分散を行い、スケーラビリティを高める代表的な方法の1つに「シャーディング」があります。 シャーディングによる分散処理には、例えばあるテーブルのプライマリキーが偶数の値はサーバAに、奇数はサーバBに分散させるような方法(水平分割)、あるいは「商品名」「価格」「在庫数」「画像へのリンク」の4列を持つテーブルを、「商品名」「価格」と「在庫数」「画像へのリンク」の2列ごとのテーブルに分割して別々のサーバに受け持たせる方法(垂直分割)などがあります。 『週刊少年ジャンプ』の創刊50周年を記念して製作されたゲーム「ジャンプチ ヒーローズ」やパズルRPG「クラッシュフィーバー」「アリスフィクション」をはじめと

                                                                                  Amazon Auroraのシャーディングによる負荷分散を、スケーラブルなNewSQLデータベース「TiDB」で置き換えへ。高負荷なオンラインゲームにも耐えると評価[PR]
                                                                                • Citusを試したッス (Postgresql拡張でデータシャーディング) - vidaisuki's blog

                                                                                  この記事は「PostgreSQL Advent Calendar 2016」22日目の記事です。 私はPostgresql拡張でデータシャーディングシャードを可能にするCitusdata社のcitusコミュニティ版を試してみました。 以前は同様の機能を持つpg_sharedと呼ばれているものが公開されていましたが、Citusがオープンソース化された事で現在はCitusのupdateに集約されているようです(pg_sharedは現在も公開されているが「pg_shard is deprecated.」と記載されている)。 正直pg_shardによるPostgreSQLのシャーディングの記事とほぼ同様の内容で恐縮なのですが、ネタが無いので進めさせて頂きます。。 さっそくインストール方法 パッケージでPostgresqlをインストールしている場合は、同じくパッケージで拡張をインストールします。 y

                                                                                    Citusを試したッス (Postgresql拡張でデータシャーディング) - vidaisuki's blog