タグ

postgresqlとjsonbに関するmsakamoto-sfのブックマーク (3)

  • 【PostgreSQL】いかにして JSONB を安全に扱うか

    はじめに Postgres には JSON/JSONB というデータ型がありますが,JSONB はデータをバイナリ形式で格納するためインサート時に変換のオーバーヘッドがあるものの,その後の処理が非常に高速である上に,インデックスを貼ることができるため,実用上は JSONB を使うのが一般的です. 一方で,そもそも RDB のようなスキーマの厳格な型付けをしているシステムで半構造化データである JSON を扱うこと自体がアンチパターンであるという指摘もあります. しかしながら,適切に設計,運用することで厳格な RDB で柔軟なデータを扱うことができ,アプリケーションの表現の幅を広げることができます. 記事では,JSONB を可能な限り安全に扱うための実践的な工夫を紹介します. JSON Schema を使ったバリデーションを Check Constraint にする Postgres では

    【PostgreSQL】いかにして JSONB を安全に扱うか
  • PostgreSQLのアンチパターン : 何でもかんでもjsonに入れる | Yakst

    PostgreSQL 9.2より追加されたJSON型だが、特徴を理解して適切に使わないと色々な副作用に悩まされることになる。その問題点を挙げると共に、どのような場合に使うべきかの指針を示す。 PostgreSQLは、データ型としてjsonをサポートしています。しかし、やりたいことがある時に何でもかんでもjson型を使ってしまうというのはやめるべきです。これは、hstoreや新しく登場したjsonb型にも同じことが言えます。これらの型は必要な時には便利なツールになりますが、PostgreSQLでデータのモデリングを行う際に最初に検討すべきものではありません。 なぜなら、データを呼び出したり操作したりするのが難しくなってしまうためです。 何もかも同じところに入れてしまおうとすることによるアンチパターンをご存知の読者もいるでしょう。EAVアンチパターンは、長らくデータベーススキーマにおける必要悪

    PostgreSQLのアンチパターン : 何でもかんでもjsonに入れる | Yakst
  • PostgreSQL 9.4 GINインデックスの評価、JSONBデータ型の使い方

    PostgreSQL 9.4 GINインデックスの評価、JSONBデータ型の使い方:PostgreSQLガイダンス(1)(1/2 ページ) PostgreSQL 9.4は実務ニーズに即した機能追加が豊富 PostgreSQLは、その名の通りSQL言語で問い合わせをするリレーショナルデータベースマネジメントシステム(RDBMS)です。近年、NoSQLと総称されるスケールアウト拡張の容易さに強みのあるキーバリューストア型のデータベースが注目されていますが、汎用性、データ整合性、データ保全性、蓄積されたデータ設計技法との親和性、などの強みから、システム中核要素としてのリレーショナルデータベースの地位は揺らぎそうにありません。 PostgreSQLは長い歴史を持つオープンソースソフトウェアです。組織立ったコミュニティによって開発とメンテナンスが活発に継続されており、年に数度のバグ修正リリースの他、

    PostgreSQL 9.4 GINインデックスの評価、JSONBデータ型の使い方
  • 1