タグ

databaseに関するakisei67のブックマーク (4)

  • 検索が爆速になるデータベース設計を公開します

    こんにちは。エンジニアの谷井です。 フォルシアでは、Spookと呼んでいる技術基盤を用いて、主に旅行業界やMRO業界に対して、膨大で複雑なデータを高速検索できるアプリケーションを提供しています。 今回はその高速検索のノウハウのうち、特にDBの扱いに関連する部分について、ベテランエンジニアへのインタビューを通してそのエッセンスをまとめてみました。 一般的なベストプラクティスだけでなく、検索性能を高めることに特化しためずらしいアプローチもあるので、ぜひご覧ください。 フォルシアにおける検索DBについて まず前提としてフォルシアで扱うデータについて軽く説明します。 扱うデータの複雑さ たとえば、旅行会社向けのアプリケーションであれば、宿泊素材の情報としては ホテルの情報「〇〇ホテル」(~約2万件) プランの情報「朝付き・ロングステイ△△プラン」(0~1500件/施設) 客室の情報(~100件/

    検索が爆速になるデータベース設計を公開します
    akisei67
    akisei67 2023/04/29
    ここまで駆使するなら素直に横に全文検索建ててしまいたくなるけど、ビジネス要求でそれができないのかな?
  • DDDで設計するならCQRSの利用を検討すべき - Qiita

    タイトルに書かれていることで全てなのですが、DDDとCQRSの併用について強調している日語の情報が少ないので、軽くまとめておきます。 CQRS+DDD CQRS(コマンドクエリ責務分離)とは、サーバの機能を「コマンド」(副作用あり)と「クエリ」(副作用なし)で完全に分けちゃおう、という考え方です。そもそも「コマンド」と「クエリ」ではあらゆる要件が異なります。 一貫性: 「コマンド」は整合性のある処理が必要、「クエリ」はあまり気にする必要なし ストレージ: 「コマンド」側は正規化してデータを保存したい、「クエリ」側は非正規な方が効率的 スケーラビリティ: 「コマンド」は全体の負荷の中で占める割合が少ない、「クエリ」は負荷が大きい なので分けちゃうわけですが、 コマンド側 複雑なビジネスロジックが絡むので、ドメイン駆動が活躍 クエリ側 複雑なビジネスロジックがないので、ドメイン層はスキップ

    DDDで設計するならCQRSの利用を検討すべき - Qiita
  • DB変更リリースの停止時間を最小化するには?「DevOps with Database on AWS」 #AWSDevDay | DevelopersIO

    「DevOpsってアプリの話ばっかりな気がするけど、DBもアプリ以上に変更入るよなぁ」 データベースの変更をいかにノーダウンタイムで番リリースするか?ステート(データ)を持つという宿命上、そう簡単にいかないことは皆さん想像つくかと思いますが、その制約の中でも工夫次第では停止時間を極小化する方法が有るんだなぁと気付かされました。 AWS Dev Day Tokyo 2018 | AWS、「DevOps with Database on AWS」のセッションレポートです。 (祭) ∧ ∧ Y  ( ゚Д゚) Φ[_ソ__y_l〉     無停止DBリリースダワッショイ |_|_| し'´J セッション内容 タイトルは「DevOps with Database on AWS」 DevOps のアプローチでシステム開発に取り組む上で、データベースに対する変更をどのように扱うかは難しい問題です。

    DB変更リリースの停止時間を最小化するには?「DevOps with Database on AWS」 #AWSDevDay | DevelopersIO
    akisei67
    akisei67 2019/05/08
    [blue/green]
  • Evolutionary Database Design

    Over the last decade we've developed and refined a number of techniques that allow a database design to evolve as an application develops. This is a very important capability for agile methodologies. The techniques rely on applying continuous integration and automated refactoring to database development, together with a close collaboration between DBAs and application developers. The techniques wo

    Evolutionary Database Design
  • 1