タグ

データベースに関するkutakutatriangleのブックマーク (73)

  • 高速インプロセスデータベースDuckDB 1.0.0がリリース | gihyo.jp

    DuckDB Foundationは2024年6月3日、オープンソースのインプロセス分析データベース「DuckDB」の正式リリースバージョン1.0.0(コードネーム“⁠Snow Duck⁠”⁠)をリリースした。 Announcing DuckDB 1.0.0 DuckDBは高速に動作するインプロセス分析データベース。ビルドする際に外部依存関係がなく、インストールとデプロイが簡単で、ホストアプリケーション内でインプロセスで実行したり、単一のバイナリとして実行できる。LinuxmacOSWindowsや、すべての一般的なハードウェアアーキテクチャ上で実行可能で、 Python、Rに深く統合されているほか、Java、C、C++といった主要なプログラミング言語用のクライアントAPIを備えている。また豊富なSQL方言が利用可能で、CSV、Parquet、JSONなどのファイル形式で、ローカルファ

    高速インプロセスデータベースDuckDB 1.0.0がリリース | gihyo.jp
  • Rustでリレーショナルデータベースを自作したときの成果と反省と学び - better_hacking_life

    はじめに この記事では、個人プロジェクトとしてRust言語でリレーショナルデータベースを開発した経験(もう五ヶ月も前...)について、その成果と反省、得た学びを共有します。 DBMSを自作した理由 自分がDBMSの自作に着手したのは、『Designing Data-Intensive Applications』というの内容を深く理解するためでした。 このは、データシステムの設計と運用において最も大切な「信頼性」、「拡張性」、「保守性」を保証する方法論を、豊富な文献を引用しつつ、理論と実践の橋渡しを巧みに行いながら、丁寧に説明している名著です。読んだことがない人は速攻購入してくだい。当にいいです。 このは、データベースの内部構造に関する話も豊富に含まれていたので、「データベース自作してみようか...」という気持ちになりました。 Rustを採用した理由 データベースの実装のついでに、

    Rustでリレーショナルデータベースを自作したときの成果と反省と学び - better_hacking_life
  • SQLite、複数クライアントからの同時書き込みを可能にする「BEGIN CONCURRENT」文を実装へ

    SQLite、複数クライアントからの同時書き込みを可能にする「BEGIN CONCURRENT」文を実装へ SQLiteの開発チームは、複数クライアントからの同時書き込みを可能にするBEGIN CONCURRENT文を実装していることを明らかにしました。 これまでSQLiteでは書き込みの同時実行はできず、つねに1つのクライアントだけが書き込み可能でした。 同時書き込み処理は、データベースのジャーナルモードが「wal」(Write-Ahead-log)もしくはwalを改良した「wal2」で、BEGIN CONCURRENT文を実行した場合に可能となります。 どのように同時書き込み処理が行われるのかについては、上記のWebページの説明を引用しましょう。 ロックが延期されることで同時書き込みが可能に まず、書き込み時のロックがCOMMITまで延期されることで同時書き込みが実現されると説明されて

    SQLite、複数クライアントからの同時書き込みを可能にする「BEGIN CONCURRENT」文を実装へ
  • PlantUML で ER 図(ERD)を描く(似非ではないです) - Qiita

    ------ :1 ----|| :1 and only 1 ----o| :0 or 1 -----{ :many ----|{ :1 or more ----o{ :0 or many 描画結果 このサンプルでは不要な水平線が入っています。この水平線はクラス図の「プロパティ(フィールド)」と「メソッド」を分ける「区切り線」ですが、hide empty members を最初に書いておくと非表示に出来ます。 参考:http://plantuml.com/class-diagram#Hide ER 図とは ER図そのものについては下記のサイトが詳しいです。 ER図 (Entity Relationship Diagram) また、書き方については下記の書籍が詳しいです。オススメです。 楽々ERDレッスン サンプル 前回 同様、下記のページからテーブル構成を参考にして、PlantUML で

    PlantUML で ER 図(ERD)を描く(似非ではないです) - Qiita
  • サービスを停止せずにデータベースリファクタリングする - Pepabo Tech Portal

    2022年7月13日にカラーミーショップで提供開始した「副管理者機能」のアップデートにあたって、従前の挙動を変えずにデータベーススキーマの構造を変える必要がありました。また、サービスの提供を停止することなく、スキーマの構造の変更を進める必要がありました。 この記事では、サービスを停止せずにデータベースの構造を徐々に変更するデータベースリファクタリングをどのように進めたかについて紹介します。 「データベースリファクタリング」とは データベースリファクタリングについて体系的に述べた書籍として"Refactoring Databases"があります。このでは、データベースリファクタリングのさまざまなパターンにおいて、スキーマの変更、データマイグレーション(既存データの移行)、アプリケーションの変更それぞれをどのように進めるべきかについて解説しています。ここでは、"Refactoring Dat

    サービスを停止せずにデータベースリファクタリングする - Pepabo Tech Portal
  • データ中心設計(DOA)に基づいたデータモデリング

    はじめに 前回のシステム開発のドキュメントフロー図では、次の3つのデータモデルが出てきました。 要件定義工程:「概念データモデル」基設計工程:「論理データモデル」詳細設計工程:「物理データモデル」 これらのデータモデルとは、いったいどのようなものなのでしょうか。今回は、データ中心設計(Data Oriented Approach)の考え方に則ったデータモデルを理解した上で、現代におけるデータモデリング手法について解説します。 データモデリングとは データモデリングとは「データを構造的に整理し、ビジュアルなモデルに表現することにより、データを効率的に扱えるようにすること」です。 みなさんは“Data is the new oil”という言葉を聞いたことがありますか? クラウド→ビッグデータ→AIといった最近の技術トレンドを背景にデータの重要性が強く認識され、それを端的に表す言葉として最近よ

    データ中心設計(DOA)に基づいたデータモデリング
  • マルチテナント SaaS パターン - Azure SQL Database

    このブラウザーはサポートされなくなりました。 Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。 適用対象:Azure SQL Database この記事では、マルチ テナント SaaS アプリケーションに使用できるさまざまなテナント モデルについて説明します。 マルチテナント SaaS アプリケーションを設計するときは、アプリケーションのニーズに最適なテナント モデルを慎重に選択する必要があります。 テナント モデルでは、各テナントのデータをストレージにマップする方法を決定します。 選択したテナント モデルは、アプリケーションの設計と管理に影響します。 後で別のモデルに切り替えると、高コストになる場合があります。 A。 SaaS の概念と用語 サービスとしてのソフトウェア (SaaS) モデルでは、ソフ

    マルチテナント SaaS パターン - Azure SQL Database
  • データベース設計におけるNULL - kawasima

    NULL絶対ダメ論や現実的には無理だから上手く付き合っていくしかないんだよ論など見られるが、せっかくCodd博士が上図の分類を提示しておられるので、これを元にもっと詳細化して考えてみよう。

    データベース設計におけるNULL - kawasima
  • LiteStream をサイドカー構成にしたデータベース永続化

    はじめに LiteStream がアツいですね。LiteStream は SQLite データベースのレプリカを作るシステムです。これを使う事で、アプリケーションが更新した SQLite データベースを S3 ストレージに瞬時にバックアップする事ができます。 はい... LiteStream を使ったサイドカー構成 LiteStream を使い、コンテナの起動前にデータベースをリストアし、アプリケーションが起動した後にレプリカを行えば、コンテナは何時でもホストから消し去る事ができる様になります。 以下に、/data ボリュームにリストアを行い、アプリケーションの起動後にレプリカを開始する docker-compose.yaml を示します。 version: '2' services: restore-container: image: litestream/litestream cont

    LiteStream をサイドカー構成にしたデータベース永続化
  • Show the Niantic flag!

    Each figure shows the types of editing these companies perform. (Jennings A., Dipto S., and Leysia P., 2019)【この記事をきっかけに、Nianticの方々と前向きな議論が始まり、第一歩として State of the Map Japan 2022のPlatinumスポンサーに参画いただきました! Thanks, Niantic!!!】 OpenStreetMap(OSM)は、2004年から始まった、Google Maps よりも歴史の長いクラウドソーシング型世界地図作成プロジェクトです。 Wikipedia のように誰でも編集権限を持つことができ、延べ800万ユーザ以上が地図更新に参加した、世界最大の一般地図作成ボランティア(マッパー)コミュニティとなりました。Google Local

    Show the Niantic flag!
  • 最強データベース(RDB)設計とは?アンチパターンの見極め方法も - FLEXY(フレキシー)

    ※2020年6月に公開された記事です。 日PostgreSQLユーザ会の理事を務める合同会社Have Fun Tech起業した曽根壮大(@soudai1025)と申します。元株式会社オミカレ副社長兼CTOです。直近では、『失敗から学ぶ RDBの正しい歩き方』を執筆しました。 今回はデータベースをテーマとして、魅力やMySQLとPostgreSQLの違い、アンチパターンの見極めなどの基礎知識に加え、勉強法などもご紹介します。 RDB関連の求人検索はこちら データベースを学ぶ魅力をエンジニア目線で考察 1.知識の費用対効果が高い エンジニアがデータベースを学ぶ利点という観点から言うと、データベースの特徴は寿命が長いことと私は考えています。 Webアプリケーションの界隈では1年単位でバージョンアップしたり流行っている言語が変わってしまうことがザラにありますが、データベースは10年、20年とい

    最強データベース(RDB)設計とは?アンチパターンの見極め方法も - FLEXY(フレキシー)
  • ゼロから作る時系列データベースエンジン

    軽量な時系列データベースエンジンをスクラッチで開発する機会があったので、どのように実装したのかを必要知識の解説を交えながらまとめていきます。 実装はGo言語によるものですが、記事のほとんどは言語非依存な内容となっています。 モチベーション 筆者は時系列データを扱うツールをいくつか開発しています。その中の一つであるAliは負荷テスト用のcliツールで、メトリクスをクライアント側でリアルタイム描画できるのが特徴です。リクエスト毎にレイテンシーなどの計測結果が際限なく書き込まれてくる中、同時に一定のクエリパフォーマンスが求められます。 これは言ってしまえば、簡易クエリ機能付きのpush型モニタリングシステムを単一ホストで実現するようなものです。 以前までの実装ではヒープ上の可変長配列にデータポイントを追加していくだけだったので、当然ながら時間の経過とともにメモリ使用量が増加していく問題を抱えて

    ゼロから作る時系列データベースエンジン
  • みんなの校則データベース:広島県内公立高校版【2021年3月公開】|中国新聞デジタル

    概要 広島県内の公立高(全日制)と中等教育学校、計88校の校則を一覧できるデータベースです。中国新聞が2020年8月に広島県教委、広島市教委、福山市教委、呉市教委に開示請求した「生徒指導規程」などの資料を基に、服装、頭髪、化粧や装飾品についての決まりを抜き出して整理しています。 使い方 関心のあるキーワードや学校名、地名などで自由に検索できます。複数のキーワードをスペースで区切っての検索も可能です。トップページに表示される「キーワードボタン」を押すことでも利用できます。 注意事項 学校によって開示する資料やその範囲が異なっています。また、「服装」などの分野ごとに整理するため、基とした資料とは記述の順番が変わっていることがあります。そのため「(1)」などの通し番号を「◆」などの記号に置き換えている場合があります。

  • SQLのインデックスとそのチューニングについてのオンラインブック

    開発者向けのSQLインデックス解説サイト、管理についての間違いない知識を提供します。 インデックスは開発時には忘れられがちである一方で、非常に効果的なSQLのチューニング方法です。Use The Index, Lukeでは、HibernateなどのORMツールの解説にとどまらず、SQLのインデックスについて基礎から説明します。 Use The Index, LukeはSQLパフォーマンス詳解のWeb上の無料版です。サイトを気に入って頂けたら、ぜひ書籍も購入してみて下さい。また、このサイトの運営をサポートする様々なグッズも販売しています。 MySQLOracleSQL ServerなどにおけるSQLのインデックスUse The Index, Lukeでは、ベンダにとらわれないインデックスの説明を心がけています。製品特有の事柄については、以下のような表示をしています。 DB2Use The

    SQLのインデックスとそのチューニングについてのオンラインブック
  • シーケンスの代わりにuuidをIDとして使う

    stop using numbers as IDs. just use UUIDs. seriously — Postgres: The Bits You Haven’t Found by pvh UUID の違い v1 Generate a UUID from a host ID, sequence number, and the current time. v3 Generate a UUID from the MD5 hash of a namespace UUID and a name. v4 Generate a random UUID v5 Generate a UUID from the SHA-1 hash of a namespace UUID and a name. この内、ID として利用できるのは v1 と v4 の2つ。v1 は最後 48 ビットがハード固有のノー

  • PayPayの1秒あたり1000決済への道のり

    パフォーマンス・チューニングに関するブログの第1回目です PayPayは、日でもっともよく知られているQR決済サービスとなりました。2018年10月5日のローンチ後、2018年12月より実施した100億円あげちゃうキャンペーンは、その後のプロダクトの急成長に合わせたシステムのスケール拡張という長い道のりのスタート地点でもありました。 ここ数ヶ月の新規ユーザーの増え方[1]を見るにつけても、PayPayが驚異的な成長を続けていることは間違いありません。スタートアップ企業はまるで竹のように成長するとはこのことではないでしょうか。(竹は24時間で最大約90cmも伸びるそうです) PayPayの成長速度は? ユーザー数の伸び 2018年10月に初めてユーザーが増え、キャンペーンや日々メディアで報道されることによるユーザー数の増加もあり、1年後には1500万人を突破しました。2020年5月現在、サ

    PayPayの1秒あたり1000決済への道のり
  • 石化凍結データベース

    <BODY background="../image/background02.jpg"> <H2>石化凍結データベース</H2> <P>このデータベースは日国内で入手可能と思われる作品における、石化、凍結を中心としたシーンをリストアップしたものです。</P> <P>なお、このデータベースは上記の目的に特化したもののため、作品に関する一般的な情報を検索する場合は他のページを参照して下さい。</P> <P>なお、情報に関しては主に女性が石化、凍結するシーンを主にしていますが、一部男性が石化凍結するシーンに関する言及もあります。</P> <P>なお、コメント中の評価、感想に関しては情報提供者の私見であることをお断りします</P> <H2>書籍編</H2> <P> <A href="booktable-a.html" target="table">あ~お</A>、 <A href="bookt

  • 2020年現在のNewSQLについて - Qiita

    Disclaimer 当記事はNewSQL開発ベンダの技術ブログや各種論文、その他ニュースサイト等の内容を個人的にまとめたものです。 そのため、理解不足等に起因する誤解・誤認を含む可能性があります。更なる理解が必要な方はリファレンスに挙げた各種文献を直接参照下さい。技術的な指摘は可能であれば取り込み修正しますが、迅速な対応はお約束できません。 NewSQLの解説は二部構成 当記事は前編でNewSQLの概要編となる。 全体の目次は下記である。 NewSQLとは何か NewSQLのアーキテクチャ NewSQLとこれまでのデータベースの比較 NewSQLのコンポーネント詳解 1章から3章までの内容を当記事で解説する。 4章はさらに詳細な技術的解説となり、後編の「NewSQLのコンポーネント詳解」で記述している。 こちらも合わせて一読いただきたい。 1. NewSQLとは何か NewSQLとは、海

    2020年現在のNewSQLについて - Qiita
  • 2000万人の氏名や銀行口座残高、勤務先の名称などがサーバ上で公開状態に

    エクアドルのコンサルタント会社が保有する米国のデータベースサーバで、セキュリティ設定の不備から、エクアドル在住者の登録番号や納税者番号、氏名、性別、国立銀行の口座残高、家族の氏名、勤務先の名称などが公開状態となっていた。

    2000万人の氏名や銀行口座残高、勤務先の名称などがサーバ上で公開状態に
  • DBMSをGoで実装してみた - Sansan Tech Blog

    こんにちは。プロダクト開発部の荒川 id:ad-sho-loko です。突然ですが、皆さんはこんな疑問を持ったことはありませんか? データベースの内部実装はどうなっているのか? トランザクションとはどのようなアルゴリズムで実現されているのか? NoSQLが遅いのはなぜか? 古典的なデータベースとは内部的にどのように違うの? データベースを何かしらの形で利用しているのにも関わらず、意外と内部の仕組みを理解していない場合が多いかと思います。僕もそうです。*1 しかし、エンジニアたるもの、その仕組みを知ることは非常に重要です。僕もデータベースについて勉強しようといくつかのやサイトを調べていたのですが、なかでもCMU(カーネギーメロン大学)のDatabase System Groupがアップロードしている講義が最も勉強になりました。 www.youtube.com そしてブログでは、上記の講義

    DBMSをGoで実装してみた - Sansan Tech Blog