並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 16 件 / 16件

新着順 人気順

SQLの検索結果1 - 16 件 / 16件

  • DB設計書の管理が楽になるDBML入門 – DBMLの書き方,dbdiagram.io, dbdocs の紹介 – | SIOS Tech. Lab

    こんにちは!サイオステクノロジーの安藤 浩です。DB設計書の生成が容易にできるDBMLをご紹介します。DBMLの入門として、DBMLの書き方、ER図生成方法、Github actionsでCIを実行して閲覧する方法をご紹介させていただきます。 DBMLとは DBML は DataBase Markup Language の略でDB構造を定義するために設計された言語です。 DB構造に焦点を当てており、可読性の高い言語です。 dbdiagram.io や dbdocs.io などを利用することでDBドキュメントの生成が可能です。 コードベースで図を生成できる点でPlantUMLと似ていますね。 DBMLの書き方 テーブルの書き方 まずはテーブルの定義の例をもとにDBMLの記法を紹介していきます。users というテーブルを作成してみます。コードは以下のようになります。 Table users

      DB設計書の管理が楽になるDBML入門 – DBMLの書き方,dbdiagram.io, dbdocs の紹介 – | SIOS Tech. Lab
    • 見えないものに着目すると上手くいく、モデリングの勘所 / invisible-driven-design

      こちらのイベントの登壇発表資料です。 アーキテクチャを突き詰める Online Conference https://findy.connpass.com/event/314782/

        見えないものに着目すると上手くいく、モデリングの勘所 / invisible-driven-design
      • RDBの主キー、UUID使った方がいいの?(DDD, CleanArchitecture対応)

        結論 お手軽モノリスならAutoIncrementが効率的だしこれでいいよ アプリケーション側で主キーを生成したい場合はLUIDを作る必要があるよ。GUIDで大は小を兼ねよう 主キーでGUIDを使うならULIDよりもUUIDv7がおすすめだよ ただし分散されているエンジンによってはUUIDv4の方が効率的になる場合もあるよ 主キーは原則公開しない方がいいよ UUIDv7やULIDはユニーク性を持ったInstant(timestamp)としても使えるよ 分散されたシステムでは厳密な時系列性を担保することはできないよ、あきらめてロックをかけつつ連番を一か所で生成しよう RDBのPrimary Key(主キー)とは? MySQL、PostgresQLなどのRDBでは各レコードを識別するために一意な値を必要とします。これをPrimary Key(主キー)と呼びます。別のカラムにUNIQUEなInd

          RDBの主キー、UUID使った方がいいの?(DDD, CleanArchitecture対応)
        • ベクトルデータの容量を96%削減するBinary Embedding

          導入 こんにちは、株式会社ナレッジセンスの須藤英寿です。普段はエンジニアとして、LLMを使用したチャットのサービスを提供しており、とりわけRAGシステムの改善は日々の課題になっています。 RAGのシステムの中では、どんな情報にアクセスするかを決定する際に、Embeddingと呼ばれる文章をベクトル化する技術が使用されています。そして多くの場合では小数(float)の多次元ベクトルが採用されています。 しかし、Embeddingの中には各ベクトルの数値を1Bitのデータとして扱うBinary Embeddingというものが存在します。 本記事では、Embeddingの手法の一つであるそのBinary Embeddingについて解説と検証を行います。 サマリー Binary Embeddingを採用することで以下のような効果を得ることができます。 保管するベクトルデータの容量を96%ほど削減で

            ベクトルデータの容量を96%削減するBinary Embedding
          • データ基盤のためのリーダブルSQL

            これは何? 私tenajimaがデータ基盤のパイプラインを作るとき、レビューするときに意識している点を言語化したものです データ基盤を作る上での考え方の一つに役立てていただければ幸いです この記事の前提 dbtを使ったデータ基盤構築を念頭に置いて書いています、dbtの記法が出てきます CTEsが使える環境を想定しています 記事内でデータエンジニアもアナリティクスエンジニアも総称してデータエンジニアと呼んでいます データ基盤を「使う側」のクエリと「作る側」のクエリの違い 最近ではファーストキャリアからデータエンジニアの方も出てきているかもしれませんが、データサイエンティスト、アナリスト、ソフトウェアエンジニアを経験してデータエンジニアを行っている人が一般的と考えています。 特にデータサイエンティスト、アナリストからデータエンジニアへの転向は私の周りでは多いように感じており、その方達は(過去の

              データ基盤のためのリーダブルSQL
            • CQRS設計パターンをモダナイズする

              CQRSとは CQRS(Command Query Responsibility Segregation、コマンド・クエリ責務分離)は、ソフトウェアアーキテクチャパターンの一つで、つまりシステムのコマンド部分をクエリ部分から分離します。基本的な考え方は、データの書き込み操作(コマンド)と読み取り操作(クエリ)を異なるモデルで扱うことです。これにより、スケーラビリティ/パフォーマンス/セキュリティの観点で柔軟な設計が可能となり、クエリ要件に合わせて最適化が実現できます。 CQRSの基本構成としては、 コマンドモデル(書き込みモデル):データの作成、更新、削除といった書き込み操作を担当します。このモデルは、データの整合性と一貫性を確保するために最適化されています。 クエリモデル(読み取りモデル):データの読み取り操作を担当します。このモデルは、クエリのパフォーマンスを最大化するために最適化され

                CQRS設計パターンをモダナイズする
              • 「脱 Oracle」 速習ガイド (PostgreSQL 11〜15 対応版)

                はじめに 本ガイドの目的と対象読者 本ガイドは Oracle から PostgreSQL へのデータベース移行リファレンスである。移行に要する工数の算定を容易化することを目的として、考慮すべき非互換情報をシンプルかつ具体的に整理してある。「脱 Oracle」を推進するマネジャーやリーダーのみならず、すべてのメンバーにとって必携のガイドとなることを目指した。本ガイドの情報の多くはインターネット上に公開されているが、それらが体系的、一元的に、かつ最新の PostgreSQL に対応しているものが見当たらなかった(2023年3月12日現在)。そのため、読者の便宜を図る点において本ガイドの果たす役割は大きいと考えている。 本ガイドの前提 本ガイドの内容は下記のデータベース間の移行を前提に記載してある。 移行元データベース

                  「脱 Oracle」 速習ガイド (PostgreSQL 11〜15 対応版)
                • DuckDBでお手軽!データフェデレーション - Techtouch Developers Blog

                  tl;dr はじめに DuckDB とは DuckDB では何が読めるのか 使ってみる S3 上のJSON を読んでみる リレーショナルデータベース 他ツールではなく DuckDB を使うメリット しくじりポイント (特にリリースされたばかりの)バージョンには気をつける S3 のオブジェクト数が多い場合不都合がありがち スレッドの調整が必要な場合も Redshift には未対応 終わりに 付録 MySQL のデータを読み込む例の MySQL 側の準備 tl;dr DuckDB 便利だよ。分析以外でも使えるよ 色々な場所のデータを閲覧・結合できるよ。標準SQLも使えるよ ただし、細かい落とし穴は色々あるので気をつけてね はじめに2023年4月にデータエンジニアとして入社したmin(@not_rogue)です。暖かくなるにつれ、YouTube で見た南伊豆ロングトレイル | 松崎町に行く機運が

                    DuckDBでお手軽!データフェデレーション - Techtouch Developers Blog
                  • 全社データ活用基盤をTreasureDataからBigQueryへ移行しました - Leverages データ戦略ブログ

                    はじめに こんにちは。データエンジニアリンググループの森下です。今回は、私がプロジェクトマネージャーとして約3年間かけて実施した、TreasureDataからBigQueryへの全社データ活用基盤移行プロジェクトについてお話します。このプロジェクトは、全社で1日あたり数千件のクエリが実行されるデータ基盤を移行するという大規模なもので、関係者の数は200〜300人に上りました。プロジェクト期間中は、データ活用基盤の技術調査から始まり、関係者への説明や調整、データ移行、クエリ移行、ETLやReverse ETLに使用する各種ツールの導入など、本当に多くのタスクがありました。 プロジェクト背景: TreasureData導入とその課題 TreasureData導入の背景 2024年時点ではGoogle BigQueryを使用していますが、その前の環境が導入された背景を説明します。 2018年12

                      全社データ活用基盤をTreasureDataからBigQueryへ移行しました - Leverages データ戦略ブログ
                    • GitHub - nucleuscloud/neosync: Open source data anonymization and synthetic data orchestration for developers. Create high fidelity synthetic data and sync it across your environments.

                      Neosync is an open-source, developer-first way to anonymize PII, generate synthetic data and sync environments for better testing, debugging and developer experience. Companies use Neosync to: Safely test code against production data - Anonymize sensitive production data in order to safely use it locally for a better testing and developer experience Easily reproduce production bugs locally - Anony

                        GitHub - nucleuscloud/neosync: Open source data anonymization and synthetic data orchestration for developers. Create high fidelity synthetic data and sync it across your environments.
                      • エンジニア向けのBIツール、QuaryをBigQueryに接続して使ってみた | DevelopersIO

                        こんちには。 データアナリティクス事業本部 機械学習チームの中村(nokomoro3)です。 Quaryというエンジニア向けのBIツールが気になったので使ってみました。 GitHub - quarylabs/quary: Open-source BI for engineers VSCodeの拡張機能やCLIが準備されており、以下のことができます。 データベースへの接続 dbtに類似した機能 sqlファイルとしてmodelを記述可能、schemaもyamlファイルで記述可能 schemaはGUIで操作もでき、リネージも表示可能 また簡単なグラフなどもyamlファイルで管理可能 対応ソースはBigQueryやSnowflakeなどとなっていますので、今回はBigQueryで試してみようと思います。 BigQuery側の準備 前準備として、以下のページにある ml-latest-small.z

                          エンジニア向けのBIツール、QuaryをBigQueryに接続して使ってみた | DevelopersIO
                        • sailで作ったpostgresのデータベースに接続する

                          sailで作ったpostgresのデータベースに接続する sailでのlaravelのインストール 終わっている方は飛ばしてください。

                            sailで作ったpostgresのデータベースに接続する
                          • Dapper マルチマッピングで多対多の関係先を生成する

                            はじめに Dapperで、多対多のテーブルからマルチマッピングを使って関係先を含む情報を取得します。 表示には、.NET 8のBlazor Web App + MudBlazorを使います。 作法や効率、例外処理などは無視して、単に「こういう使い方ができる」という実証実験です。 Dapper とは Dapperは、.NET向けのシンプルなORMです。 環境 Windows 11 VisualStudio 2022 17.9.6 .NET 8.0.4 Dapper 2.1.35 MySqlConnector 2.3.7 MudBlazor 6.19.1 プロジェクトの構成 VisualStudioで新規「Blazor Web App」プロジェクトを以下の想定で作ります。 フレームワークは.NET 8.0にします。 認証の種類は「なし」にします。 HTTPS用の構成にします。 Interact

                              Dapper マルチマッピングで多対多の関係先を生成する
                            • DockerでPostgreSQLを使う - Qiita

                              本番環境ではDBはコンテナ化することは少いと思いますが、諸事情によりメモ。 前知識 Docker環境でPostgreSQLを扱う場合に事前に知っておいたほうが良い知識。 /docker-entrypoint-initdb.d/ PostgreSQLのイメージ(MySQLも)では、/docker-entrypoint-initdb.d/以下に置かれたファイルを起動時に実行する仕組みがあり、これらを利用してDBの初期設定・初期データの作成などを行うことができる。 サーポートされている拡張子は.sh, .sql, .sql.gzみたい。 /var/lib/postgresql/data PostgreSQLのデータ保存場所のパスは/var/lib/postgresql/dataとなる。これをローカルにマウントしてデータの永続化を行う。 基本 起動 まずはシンプルにPostgreSQLをDocke

                                DockerでPostgreSQLを使う - Qiita
                              • Pythonでpeeweeを使用してDBを作成し複数のテーブルにデータを挿入し取得する

                                Pythonでpeeweeを使用してDBを作成し複数のテーブルにデータを挿入し取得してみます。 今回はpeeweeを用います。このライブラリ・モジュールはPythonの標準ライブラリではありませんので事前にインストールする必要があります。 ■Python 今回のPythonのバージョンは、「3.8.5」を使用しています。(Windows11) ■peeweeを使用してDBを作成し複数のテーブルにデータを挿入し取得する では、早速Pythonでpeeweeを使用してDBを作成し複数のテーブルにデータを挿入し取得するスクリプトを書いていきます。 ■コード from peewee import * db = SqliteDatabase(':memory:') class Person(Model): name = CharField() age = IntegerField() class M

                                  Pythonでpeeweeを使用してDBを作成し複数のテーブルにデータを挿入し取得する
                                • 【SQL】COUNT関数を利用するときはNULLに気をつけよう! - Qiita

                                  はじめに SQLを利用するときには極力NULLを使わないようにしようと言われることが多いです。 SQLではNULLのデータが入っていることで奇妙な挙動をしてしまうことがあります。 その中の一つでCOUNT関数が存在します。 COUNT関数はその名の通りで条件に合致したデータ数を取得するための関数です。 例えば、条件に合致するデータが3件ある場合は3 と返却を行います。 簡単ですね。 ただ、データ内にNULLが含まれていると、COUNT関数の対象によって、返される値が異なる場合があります。 具体的には以下の通りです。 COUNT(*) NULLのカラムを数える COUNT(col_name) NULLのカラムを数えない なかなかとややこしいですね。。。 実際に例を見てみましょう。 例 以下のようなテーブルを考えます。 col_name

                                    【SQL】COUNT関数を利用するときはNULLに気をつけよう! - Qiita
                                  1