The database that can be consumed as open source software or as a variety of database-as-a-service offerings
はじめに Twitterのタイムラインを見ていたらバッチ系のプログラムで逐次コミットをやめて一括コミットにしたら爆速になったというのを見ました。当たり前でしょ、と思ったけど確かに知らなければ分からないよね、と思って主に初心者向けにRDBを扱うときの注意点をまとめてみました。 プログラミングテクニック的なところからテーブル設計くらいの範疇でDBチューニングとかは入ってないです。 自分の経験的にOracleをベースに書いていますが、他のRDBでも特に変わらないレベルの粒度だと思います。 大量の逐次コミットをする バッチアプリケーションでDBにデータをインサートすると言うのはかなり一般的な処理です。しかしデータ量が少ない時はともかく大量のインサートを逐次コミットで処理するとめちゃくちゃ遅くなります。数倍から十数倍遅くなることもあるので、10分程度のバッチが1時間越えに化けることもザラにあるので原
ウェブサイトやアプリケーションには、ユーザー名やメールアドレスといった小さなサイズのものからブログ本文といった大きなサイズのものまで多種多様なサイズのテキストが使われています。一般的にはテキストサイズによってデータベースを使い分けることはありませんが、データベースのPostgreSQLでは「中途半端なサイズ」のテキストデータを格納するとパフォーマンスの低下につながるという調査結果とその仕組みを、ソフトウェアエンジニアのHaki Benita氏が説明しています。 The Surprising Impact of Medium-Size Texts on PostgreSQL Performance | Haki Benita https://hakibenita.com/sql-medium-text-performance PostgreSQLの場合、データベースのインデックスとテーブルは
【10月13日 CNS】アリババ系ネット決済プラットフォーム「螞蟻金融服務(アントフィナンシャル、Ant Financial)」は2日、同社が独自に開発したデータベースのOceanBaseが、TPC-Cデータベース基準性能テストの世界記録を打ち破り、前世界記録保持者であるオラクル(Oracle)の2倍の成績を獲得した。データベースで最も権威性のある国際的機構「トランザクション処理性能評議会(TPC)」が公式サイトで最新結果を報じた。 【関連記事】アリババのAI運用、毎日1兆回 世界の10億人にサービス TPC-Cは世界の主流コンピューターメーカーやデータベースメーカーが認める評価基準で、「データベース領域のワールドカップ」と称される。 中国工程院(Chinese Academy of Engineering)院士でコンピューター専門家である李国傑(Li Guojie)さんは「オラクルが9年
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? Webサービスでアカウント削除機能を要求するユーザの話はよく聞くわけですが、これには残念ながら全く意味が無いと、1Webエンジニアであるぼくは思っているのですが、その理由をだらだらと書いてみようと思います。非エンジニアでも分かるように書いたつもりですが、作者が特にそういう能力に秀でているわけでもないので難しいかもしれません。 技術的な問題 現代の多くのWebサービスはデータの保存をRDB(SQL)に依存しています。これには色々特徴があるわけですが、実際の実装を想定して説明していきましょう。 ユーザがいます。ここではUserというTabl
PHP7のLaravel5.5で、このJOINをもっと速くする方法はないでしょうか? 下記のSQLですが、本当はもう少し条件がありますが省略してあります。 あまりにも重いので、これを速くするアイディアはないでしょうか? 条件、、 テーブルBにあるカラムAの値が、テーブルAのすべてのカラムに含まれていれば一覧表示するとなります。 ※ テーブルを作り直す事は出来ませんが、テーブルBにカラムの追加する事くらいは可能です。 よろしくお願いします。 $res = DB::table('テーブルA') ->join('テーブルB', function ($join) { $join->on('テーブルA.カラムA', '=', 'テーブルB.カラムA') ->orOn('テーブルA.カラムB', '=', 'テーブルB.カラムA') ->orOn('テーブルA.カラムC', 'REGEXP', DB:
先日、「How a single PostgreSQL config change improved slow query performance by 50x」というPostgreSQLのSSD環境でのチューニングの記事を見つけたのですが、これをTweetしたらRTやLikeを比較的たくさん頂きました。 How a single PostgreSQL config change improved slow query performance by 50x https://amplitude.engineering/how-a-single-postgresql-config-change-improved-slow-query-performance-by-50x-85593b8991b0 How a single PostgreSQL config change improved sl
PostgreSQLとMySQL、使うならどっち? データベース専門家が8つの視点で徹底比較! オープンソースのデータベースとしてよく比較されるPostgreSQLとMySQL。どんな長所・短所があるのでしょう? それぞれの専門家による対談で明らかにします。 エンジニアとして働いていると必ず直面する悩み。それは、「どのリレーショナル・データベース(以下、RDB)を選ぶのが最善なのか?」です。 RDBごとに長所と短所は異なっています。そのため自社サービスにマッチしないRDBを選んでしまうと、それがボトルネックとなり開発・運用にトラブルが生じるケースは少なくありません。 なかでもよく比較検討されるのが、PostgreSQLとMySQL。ともにオープンソースRDBのデファクトスタンダードであり、高い性能と数多くの機能を持っています。 では、両者は具体的にどのような長所・短所があるのでしょうか。そ
なぜ、SQLは重たくなるのか?──『SQLパフォーマンス詳解』の翻訳者が教える原因と対策 『SQLパフォーマンス詳解』の翻訳者の松浦隼人さんに、8つの「SQLが重たくなる原因とその対策」を聞きました。システムのボトルネックになるような「問題のあるSQL」を回避するノウハウを学びましょう。 データの操作や定義をする言語「SQL」は、どのような領域を担うエンジニアにとっても必修科目です。しかし、その仕様をきちんと理解し、パフォーマンスに優れたSQLを書ける方はそれほど多くありません。問題のあるSQLを書いてしまい、知らぬ間にそれがシステムのボトルネックになってしまう事態はよく発生します。 では、どうすればそうした事態を回避できるのでしょうか? そのノウハウを学ぶため、今回は『SQLパフォーマンス詳解』の翻訳者であり、自身もエンジニアでもある松浦隼人(まつうら・はやと/@dblmkt)さんに8つ
「Google Cloud Spanner」発表。地球規模の大規模分散環境で稼働するミッションクリティカルなリレーショナルDB。NoSQL並のスケーラビリティでSQL対応、トランザクション処理を実現 Googleは、クラウド上で高度なスケーラビリティを実現する、ミッションクリティカルな業務に対応したリレーショナルデータベースサービス「Google Cloud Spanner」を発表しました。 Google Cloud Spannerは、地球規模の大規模分散処理データベースとして、NoSQL並の非常に高いスケーラビリティと高い可用性、そして高速な処理を実現しつつ、SQLに対応。強い一貫性を持つトランザクション処理も実現。企業のミッションクリティカルな業務にも使えると説明されています。 地球規模に分散したリレーショナルデータベース 一般に、ミッションクリティカルな業務に対応したリレーショナルデ
果たしてGitLab.comで何が起きたのでしょうか? これまでの経緯をまとめました。 スパムによるトラフィックのスパイクからレプリケーションの不調へ GitLab.comは今回のインシデントについての詳細な経過を「GitLab.com Database Incident - 2017/01/31」で公開しています。また、もう少し整理された情報がブログ「GitLab.com Database Incident | GitLab」にも掲載されています。 これらのドキュメントを軸に、主なできごとを時系列に見ていきましょう。 1月31日16時(世界協定時。日本時間2月1日午前8時)、YP氏(Yorick Peterse氏と思われる)はPostgreSQLのレプリケーションを設定するためにストレージの論理スナップショットを作成。これがあとで失われたデータを救う幸運につながります。 1月31日21時
About reserved postingIf you register a secret article by the day before the same day, it will be automatically published around 7:00 on the same day. About posting periodOnly articles submitted after November 1 of the year can be registered. (Secret articles can be registered anytime articles are posted.)
PostgreSQL Global Development Groupは2016年9月29日(米国時間)、OSS(オープンソースソフトウェア)データベース「PostgreSQL」の最新版「PostgreSQL 9.6」を公開した。 PostgreSQL 9.6では、ハイパフォーマンスデータベースワークロードのスケールアップ(垂直方向の拡張)とスケールアウト(水平方向の拡張)の両方を可能とし、主にパラレルクエリ、同期レプリケーションの改良、フレーズ検索、パフォーマンスとユーザビリティなどの機能を強化した。ポイントは以下の通り。 パラレルクエリでスケールアップ PostgreSQL 9.6では、一部のクエリ操作の並列化がサポートされたことで、サーバ上のコアの一部または全てを利用して、クエリ結果を高速に返すことができるようになった。シーケンシャル(テーブル)スキャン、アグリゲーション、ジョインの
データベース設計の基本中の基本であるER図。ER図を書きたいけど、「記法が分からない」「どういうステップで書けば良いか分からない」という若手エンジニアも多いのではないでしょうか。 ER図は10種類近くあり、種類によって記法が異なります。このことが難しいイメージを与えていますが、実はそれほど難しいものではありません。覚えれば良いER図は2種類だけです。 しかも、この記事で解説している基礎知識を押えれば、たった5つのステップで作成することができます。 この記事では、ER図の基礎知識からER図の書き方まで、エンジニアが抑えておくべきER図の全知識をどこよりも分かりやすく解説します。 この記事を読み終えたとき、若手エンジニアもER図を書けるようになっているでしょう。 この記事を参考に最適なデータベース設計を進めて下さい。 1.ER図とは ER図とは、「データベース設計(データモデリング)で使う設計
2. 2 自己紹介+所属会社紹介 • 渡部 亮太(わたべ りょうた) – JPOUG 共同創設者、ボードメンバー – Oracle ACE – 著書「プロとしてのOracleアーキテクチャ入門 [第2版]」 「プロとしてのOracle運用管理入門」 – ブログ「コーソルDatabaseエンジニアのBlog」 http://cosol.jp/techdb/ • 株式会社コーソル – 「CO-Solutions=共に解決する」の理念のもと、Oracle技術に特 化した事業を展開中。心あるサービスの提供とデータベースエン ジニアの育成に注力している – 社員数: 131名 (2016年7月時点) – ORACLE MASTER Platinum 11g 取得者数 45名 ORACLE MASTER Platinum 12c 取得者数 28名 (現時点でおそらく)取得者数 日本 No.1
37. 積み重なるWHERE句 -- 有効なアカウントのブログを取ってきたい場合 SELECT * FROM blog INNER JOIN users ON users.id = blog.user_id AND users.delete_flag = 0 WHERE blog.delete_flag = 0 38. 積み重なるWHERE句 -- 有効なアカウントのブログを取ってきたい場合 SELECT * FROM blog INNER JOIN users ON users.id = blog.user_id AND users.delete_flag = 0 WHERE blog.delete_flag = 0 ユーザの削除フラグを見る 39. 積み重なるWHERE句 -- 有効なアカウントのブログを取ってきたい場合 SELECT * FROM blog INNER JOIN users
It turns out the space industry has a lot of ideas on how to improve NASA’s $11 billion, 15-year plan to collect and return samples from Mars. Seven of these… When Bowery Capital general partner Loren Straub started talking to a startup from the latest Y Combinator accelerator batch a few months ago, she thought it was strange that the company didn’t have a lead investor for the round it was raisi
しばらく前から分散RDBをいじってみたいと思っていたが、きっかけがつかめずズルズルときた。そんな中、先日Tumblr blogの方にチラッと書いたのだが Pinterestがリアルタイム分析用にSpark & MemSQLの評価中と聞きつけてウズウズしてきたので、重い腰を上げてMemSQLをうっすら触ってみた。 簡単な説明 MemSQLはMySQL互換でスケーラブルな分散RDB。現在のところ、コマーシャルライセンス製品(自分的にはこの点は残念だが、現状オープンソースでまともに動作する分散RDBは存在しない、という認識である)。MemSQLクラスタはaggregatorとleaf nodeにより構成される。aggregatorは管理系で、leaf nodeがコンピュートノードに相当。データはleaf node間で分散される。それぞれ任意の数にスケール可能。 実施環境 いつもならAmazon
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く