Online database entity-realtionship diagram editor and SQL generator. Design, visualize, and export scripts without an account and completely free of charge.
基本から学ぶ テーブル設計 超入門! 〜データモデリングとテーブル設計の基本を学ぼう〜 https://modeling-how-to-learn.connpass.com/event/242944/ にてお話した際のプレゼン資料です。 入門者に向けて、テーブルを設計する上でモデリングすると良いよという話をしました。(熟練者は、そうだよねーっておさらいするか、そこは別の考え方があるんじゃないなどを呟いて貰えればといった内容です) モデリングして設計する際に、色々なモデルがあります。その中で、データモデルは静的な要素が強いモデルなので、モデリング全般を考えた際に、入門者にとって捉えやすいのではと考えています。 テーブルを設計する上で、データモデリングをしてデータモデルを作ることで、より良いテーブル構造を考えやすくなります。 #テーブル設計 #モデリング #データモデル #RDRA #概念モデ
はじめに 分散システムの設計および開発において、キャッシュはパフォーマンス向上のための非常に重要な要素です。頻繁にアクセスされるデータをキャッシュすることで、アクセス速度が遅いデータベースへのアクセスを削減し、データへの迅速なアクセスを可能にします。これにより、システムの全体的な効率とパフォーマンスが向上します。 しかし、キャッシュは慎重に設計しないとむしろパフォーマンス上のデメリットになるケースが存在します。 この記事ではよく遭遇するキャッシュ設計の問題とその回避策について解説します。 Cache penetration DBに存在しない値を検索したときに、DBから返された空の結果をキャッシュしない場合に発生するシナリオです。 このシナリオではDBに存在しない値を繰り返し検索することにより、その値がキャッシュされていないため検索ごとにDBへのアクセスが必要になってしまいます。 存在しない
この本では、データベース構築経験が初心者・入門者の方々に向けて、データベース構築に必要な知識(SQLを中心)を1時間ほどでサクッと理解できるようにまとめました。※短時間での走り切りをゴールとしているため、細かい説明は省略されています。 【概要】 ・内容:データベース基本知識 / 用語、SQLとは、NoSQLとは、NewSQlとは、データモデル(概念モデル / 論理モデル / 物理モデル)、SQL命令言語(DML / DDL / TCL / DCL)、SQLの環境構築、SQLの基本文法、SQLによる絞り込み、SQLによるデータ加工、SQLによるテーブル処理・分析、SQLによる複数テーブルの処理、SQLによるトランザクション処理 ・所要時間:約1時間 ・必須条件:パソコン操作 ・推奨OS:なし ・レベル:★★☆☆☆
型は型、どうもかわしんです。SQLite では型は絶対ではなく、あくまでも尊重です。信用しすぎると裏切られます。 最近 Rust で SQLite をフルスクラッチで再実装しています。 github.com なるべく本家の SQLite と compatible にするために SQLite のドキュメントやコードを読んで挙動を理解しながら作っています。これを作ることになった経緯はこの記事で紹介していますが、その過程でいろいろ知らなかった面白い仕様や実装があったので紹介していきたいと思います。今回はその第一弾です。 kawasin73.hatenablog.com データ型と Type Affinity SQLite のドキュメントの中で、今の所一番面白いのがこれです。 www.sqlite.org まず、SQLite の内部的には 5 つのデータ型しかありません。 NULL INTEGER
PostgreSQLには、用途や環境に応じて様々な構成を組み、最適なパフォーマンスで動作させられるよう、設定ファイルpostgresql.confに多くのパラメーターが存在します。そのパラメーターを正しく設定し調整を行うためには、PostgreSQLのアーキテクチャーを理解する必要があります。ここでは、押さえておきたい、PostgreSQLの基本的なアーキテクチャーについて説明します。なお、この記事で対象にしているPostgreSQLのバージョンは9.5以降です。 1. PostgreSQLの基本構成 PostgreSQLの基本的な構成について説明します。はじめに、主なプロセス、メモリー、および、ファイルについての構成図を示します。 図1 PostgreSQLの基本構成 PostgreSQLを構成する主なプロセス、メモリー、ファイルについて、その用語と概要を説明します。 リスナープロセス
今回の記事は、パフォーマンスチューニングの観点と仕組みを理解することに主眼を置いています。具体的な対処方法についてはシステムによって異なるため、マニュアルの確認や、各種チューニングサービスのご利用をご検討ください。なお、この記事で対象にしているPostgreSQLのバージョンは9.5以降です。 本記事の構成 本記事「パフォーマンスチューニング9つの技」は以下4つの記事から構成されています。他の記事も併せてご覧ください。 パフォーマンスチューニング9つの技 ~はじめに~ パフォーマンスチューニング9つの技 ~「書き」について~(本記事) パフォーマンスチューニング9つの技 ~「探し」について~ パフォーマンスチューニング9つの技 ~「基盤」について~ 1. パフォーマンスチューニングの「書き」とは 一般的にデータベースは、大量データを扱い、大量の問い合わせや更新を高速に処理し、さらに障害発生
データベースのスキーマを変更するということはデータをいじる行為であり、最悪の場合データが消えます。 最悪の事態にはならなくとも、思わぬ場所に影響が起きたり、データの不整合が発生する恐怖と戦う必要が有ります。 テストや切り戻しを含めて計画し、大きな変更の場合にはダウンタイムまで考慮する必要があります。 そこで、RDBを対象にデータベースの変更を行う方法について書いていきます。 スキーマ変更 まずは、スキーマ変更について、 カラムを追加する 一番簡単で、影響も少ない変更です。 気をつけるのは、 ソースコードの変更よりも前にスキーマ変更を完了させる (長時間)ロックがかからない方法を選ぶ といったところでしょうか。 大抵の場合は、スキーマの変更とソースコードの変更の順番にさえ気をつければ問題は発生しません。 カラム名を変更する 「ALTER」でさくっと変えたくなりますが、ソースコードの変更が同時
SQLiteでベクトル検索を可能にするsqlite-vssそんなポータブルで便利なSQLiteですが、そのSQLiteでベクトル検索ができるとなるとより夢が広がります。 SQLite自体はファイルベースなので、あらかじめベクトルデータを設定したSQLiteデータベースファイルをアプリに組み込んで配布しても良いわけです。そうすればデータベースサーバを用意しなくて済む分コストも圧縮されますし、組み込みなのでアプリからは軽量に動作します。 ホスティングする場合でもFly.ioのようにボリュームイメージを利用できるPaaSを利用すれば、問題なく運用が可能です。 前置きが長くなりましたが、このような夢を叶えてくれる拡張がsqlite-vssです。ベクトル検索はFaissベースで実装されています。 とっても良さげではあるのですが、実際に組み込んでみた場合のコード例が見つからなかったので、手を動かして試
“In e-commerce, proximity to users is vital. Turso lets us minimize round trip network latency for our global userbase and it makes a huge difference.“ “Turso enables us to efficiently scale Astro Studio’s database per tenant architecture to as many users as we’ll ever need, on demand. It’s a game changer.“
昨日様々なトランザクション分離レベルに付いて書いた。 AnomalyとはSerializableでない実行を引き起こす異常状態パターンのことを言う。 弱い分離レベルほどAnomalyが起きやすい。 これから図を交えながらAnomalyについて説明する。 図中の「W(x)」は「xに何らかの値を書き込む」、「R(x)」は「xの値を読む」をそれぞれ意味する。 分かりやすいようにReadは青、Writeは赤色で統一する。 また、Anomalyの被害に遭うのは常にT1に統一する。 Cはコミットを意味する。 Dirty Read Anomaly 未コミットな値を読んでしまうAnomalyの事。Readがロック関係なしに値を読んでしまう場合などに起きる。 T1が書き換えられる最中のxの値を読んでしまっている。もしT2が途中でアボートしたらT1はどこにも存在しない値を読んだ事になってしまう。 READ U
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く