並び順

ブックマーク数

期間指定

  • から
  • まで

41 - 80 件 / 295件

新着順 人気順

NoSQLの検索結果41 - 80 件 / 295件

  • MySQLでIN句の中に大量の値の入ったクエリがフルスキャンを起こす話 - freee Developers Hub

    こんにちは、freee Developers Advent Calendar 2021、19日目のid:shallow1729です。昨日はtdtdsさんで【マジで】サイバー演習シナリオの作り方【怖い】でした!障害訓練後に攻撃方法を解説された時はリアリティの高さに驚きました。 僕はMySQLを使っていて発生した不思議な挙動の調査の話をしようと思います。 今回問題となったクエリ 今回話題にするクエリは以下のようなシンプルなものです。 SELECT * FROM hoge WHERE id IN (...) MySQLのパラメーター次第ですが、デフォルトの設定だとこのIN句の中の値の数が数万になると適切なインデックスが用意されていてもフルスキャンが発生する事がありました。このクエリがテーブルのほとんどのレコードを網羅するような場合や高速でレコードを大量にinsertして統計情報が追いつかないケー

      MySQLでIN句の中に大量の値の入ったクエリがフルスキャンを起こす話 - freee Developers Hub
    • 非エンジニアのSQL学習ことはじめ 〜1日1時間・3か月でSQLがそこそこできるようになる勉強方法とおすすめ書籍〜

      これは何「来年こそはSQL書けるようになるぞ」と思ってる方に向けた、1日1時間・3か月でSQLそこそこできるようになる学習方法について書いた記事です長文がつらつら書いてある本稿ですが、要するに言いたいことは

        非エンジニアのSQL学習ことはじめ 〜1日1時間・3か月でSQLがそこそこできるようになる勉強方法とおすすめ書籍〜
      • 自作RDBMSやろうぜ!

        Skip to the content. 自作RDBMSやろうぜ! このサイトの目的 RDBMS(いわゆるリレーショナルデータベース)というものはプログラミング言語の処理系や、OSなどと同様に、世の中で広く使われているソフトウェアであるにも関わらず、いざ自作してみようと思うと日本語で記述されたサイトや書籍で、必要な情報・情報源がまとまったものがないことに気づきました そこで、叩き台として、本サイト管理人および数名のコミッタで開発している自作RDBMSである SamehadaDB が軌道に乗るまでの経験をベースに、自作RDBMSするための道筋をある程度整理して書き記してみました 各々の情報・情報源はあいかわらず多くが英語で記述されていますが、その点はご容赦下さい なお、本サイトは技術的な解説を提供するのではなく、適切と思われる情報・情報源をポイントするようなサイトとなることを想定しています

        • NoSQLデータモデリング技法 · GitHub

          NoSQLデータモデリング技法.markdown #NoSQLデータモデリング技法 原文:NoSQL Data Modeling Techniques « Highly Scalable Blog I translated this article for study. contact matope[dot]ono[gmail] if any problem. NoSQLデータベースはスケーラビリティ、パフォーマンス、一貫性といった様々な非機能要件から比較される。NoSQLのこの側面は実践と理論の両面からよく研究されている。ある種の非機能特性はNoSQLを利用する主な動機であり、NoSQLシステムによく適用されるCAP定理がそうであるように分散システムの基本的原則だからだ。一方で、NoSQLデータモデリングはあまり研究されておらず、リレーショナルデータベースに見られるようなシステマティック

            NoSQLデータモデリング技法 · GitHub
          • 超入門!テーブル設計をデータモデリングから考えよう

            基本から学ぶ テーブル設計 超入門! 〜データモデリングとテーブル設計の基本を学ぼう〜 https://modeling-how-to-learn.connpass.com/event/242944/ にてお話した際のプレゼン資料です。 入門者に向けて、テーブルを設計する上でモデリングすると良いよという話をしました。(熟練者は、そうだよねーっておさらいするか、そこは別の考え方があるんじゃないなどを呟いて貰えればといった内容です) モデリングして設計する際に、色々なモデルがあります。その中で、データモデルは静的な要素が強いモデルなので、モデリング全般を考えた際に、入門者にとって捉えやすいのではと考えています。 テーブルを設計する上で、データモデリングをしてデータモデルを作ることで、より良いテーブル構造を考えやすくなります。 #テーブル設計 #モデリング #データモデル #RDRA #概念モデ

              超入門!テーブル設計をデータモデリングから考えよう
            • 1000万ユーザに耐えるサーバを作ってみた

              概要 スケーラビリティが高く1000万ユーザに耐えるAPIサーバを作成しました。TwitterのようなSNSです。実装はGitHubで公開しています。 開発環境は次の通りです。 Node 16.14 Express 4.17.3 DynamoDB 2012-08-10 機能要件は次の通りです。 ツイート機能 ツイートに対してコメント機能 フォロー機能 タイムライン機能 導入 Facebook、Amazon、Youtubeのような数億人のユーザを抱えるサービスでは大量のトラフィックを捌く必要があります。大量のトラフィックを捌くためのアプローチとして一般的に使われるのはスケールアップではなくスケールアウトです。スケールアップは性能の高い機器を使うためにコストが高いです。また、1つのサーバで運用するためにパフォーマンスの限界が存在します。 スケールアウトについて考えます。アプリケーションは大きく

                1000万ユーザに耐えるサーバを作ってみた
              • イミュータブルデータモデルの極意

                2021/11/24 「イミュータブルでゆこう」イベントの資料です。 データをリソースとイベントに場合分けして考えようという至極単純な話を1時間ほどしました。Read less

                  イミュータブルデータモデルの極意
                • PayPayでのDynamoDB活用事例について

                  Presented by: Tomoki Nishinaka, Yu Zhouxun PayPayの機能の一つとして2020年4月に新たにリリースされた通知サービスでは、スケーラビリティとパフォーマンスを重視し、数々のデータストアソリューションの中からDynamoDBを採用しました。通知センターの設計からリリースまでにおける検討プロセスや、DynamoDBを使った開発/運用手法、及びテーブル設計のtipsについてご紹介します。

                    PayPayでのDynamoDB活用事例について
                  • Webシステムにおいて「画像や帳票等のファイルはDBへ格納すべきなの?」を調べてみた(ファントムファイル) - Qiita

                    Webシステムにおいて「画像や帳票等のファイルはDBへ格納すべきなの?」を調べてみた(ファントムファイル)oracleWeb この記事は、 JPOUG Advent Calendar 2023 24日目の記事です。 23日目は multilayer さんの記事『OCIのLanding Zoneについて調べてみた!』でした。 想定読者 ファントムファイルについてよく知らない、帳票の扱い方をあまり考えたことがない人 イントロダクション 皆さん、世の中のWebシステムで利用される画像や帳票ファイルがどこに保存されているかご存知でしょうか? 帳票や大きな画像ファイルなどを扱う際、大きく分けて2つの設計方針があります。 ・DBに直接保存する ・DB外部に保存し、パスなどをDBに保存する オライリーのSQLアンチパターンの、”ファントムファイル”という章にはこのあたりのことが書いています。 [Amaz

                      Webシステムにおいて「画像や帳票等のファイルはDBへ格納すべきなの?」を調べてみた(ファントムファイル) - Qiita
                    • リーダブルSQL[より良いSQLを書くためのシンプルで実践的なテクニック] - Qiita

                      はじめに 最近エンジニア界隈では「リーダブルコード」が話題なっていますね。 リーダブルコードでは、このような定理が紹介されています。 「コードは他の人が最短時間で理解できるように書かなければいけない。」 Dustin Boswell リーダブルコード P.3 より引用 SQLでも同じことが言えそうです。 リーダブルなSQLを書いてないと結婚できない時代が今まさに到来しようとしています。 皆さん、クソSQL1を読んだことがありますね? クソSQLを書いたことがありますね? 僕は、あります。 そこで、本記事ではどうしたらリーダブルなSQLが書けるかというアイデアを紹介します。 処理の流れの順に上から読めるようにする 人間のメンタルモデルは、問題やタスクを小さなステップに分割し、それぞれを順番に実行することに適しています。 サブクエリを使ったSQLでは、処理の流れは上から下ではなく、ネストされた

                        リーダブルSQL[より良いSQLを書くためのシンプルで実践的なテクニック] - Qiita
                      • 業務でどれだけSQL力がつくのか ~SQLアンチパターンを用いて確認~ 前編

                        はじめに こんにちは。 GMOアドマーケティングのKONCEです。 新卒で入社し、数年経ちました。日々の業務で学ぶことは多いですが、今年度は技術の深堀りをテーマにやっていきたいと思っています。 今回は入社してDBやSQLに関しては業務内で学ぶことが多く、特別訓練をしていたわけではなかったのですが、「SQLアンチパターン」を用いて学びながら、改めて自分の現状を見つめ直していけたらと思います。 今回は学習を行う側面と自分自身のレベルについて見直していきたいので 知っていた → ○ 部分的に知っていた → △ 知らなかった → × を付けてみようと思います。 目次 SQLアンチパターンについて Ⅰ部 データベース論理設計のアンチパターン 2-1. [○]1章 ジェイウォーク(信号無視) 2-2. [×]2章 ナイーブツリー(素朴な木) 2-3. [○]3章 IDリクワイアド(とりあえずID) 2

                          業務でどれだけSQL力がつくのか ~SQLアンチパターンを用いて確認~ 前編
                        • 外部キー制約は何も考えずに適用するとよくない - かとじゅんの技術日誌

                          このブログが話題になってますね。制約を付けること自体はよいことだけど、無目的に適用すると害も生じると思います。 無目的という言い方はおかしいな…。外部キー制約をどのように使えばいいのか、逆にどんなときに使うとまずいのかを考えてみたいと思います。 tech.tabechoku.com 例えば、これ。外部キー制約はできるだけ付けるとか、何も考えずに付けるとよくないと思います。 外部キー制約は、可能な限りつけるようにしています。 DBが別れている場合、外部キーはもちろん貼れないのですが、そうでない場合はとにかく何も考えず貼っています。データベース設計の際に気をつけていること - 食べチョク開発者ブログ テーブル設計をシミュレーションする いいたいことの結論はこれ。以上終了なのですが、もう少しわかりやすく書いてみよう。 何も考えずに外部キーを貼るのは良くないな。トランザクション境界の外で結果整合性

                            外部キー制約は何も考えずに適用するとよくない - かとじゅんの技術日誌
                          • 履歴データテーブルとの向き合い方_PHPerKaigi2024

                            PHPerKaigi2024 の登壇資料です。 履歴データテーブルとの向き合い方 https://fortee.jp/phperkaigi-2024/proposal/47cf9f17-825a-4021-bf33-86e4a62bc222

                              履歴データテーブルとの向き合い方_PHPerKaigi2024
                            • RDBの作成時刻や更新時刻用カラムに関するプラクティス | おそらくはそれさえも平凡な日々

                              RDBのレコードに、作成日時や更新日時を自動で入れ込むコードを書いたりすることあると思いますが、それに対する個人的な設計指針です。ここでは、作成日時カラム名をcreated_at、更新日時をupdated_atとして説明します。 tl;dr レコード作成日時や更新日時をRDBのトリガーで埋めるのは便利なのでやると良い ただ、アプリケーションからそれらのカラムを参照することはせず別に定義した方が良い MySQLにおける時刻自動挿入 MySQL5.6.5以降であれば、以下のようにトリガーを設定すれば、レコード挿入時に作成日時と更新日時を、更新時に更新日時を、DATETIME型にも自動で埋めてくれます。いい時代になりました。(MySQLが遅すぎたという話もある) `created_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, `updated_

                                RDBの作成時刻や更新時刻用カラムに関するプラクティス | おそらくはそれさえも平凡な日々
                              • SQL滅ぶべし | ドクセル

                                SQL • リレーショナルデータベースシステムと会話するための言語 • 1970年 Codd が RDB モデルと同時に提案 (Alpha言語) • 1974年 Chamberlin と Boyce が改良 • 元々は SEQUEL (Structured English Query Language) だったが、商標登録されていた • 読み方は エスキューエル とそのまま読む (Glliespie 2012)

                                  SQL滅ぶべし | ドクセル
                                • 次世代SQLクライアントArctypeを触ってみる

                                  どうも、株式会社プラハCEOの松原です 先日社内のエンジニアに「このSQLクライアントがイケてそう!」と教わったので早速Arctypeを触ってみました TL;DR クエリの補完が最高 チャートやダッシュボードを通して簡単に可視化できる 操作性に優れていて、見た目が綺麗 クエリやダッシュボードごとに権限管理できる プレースホルダーを使えば非開発者ともクエリを共有しやすい 説明しよう、Arctypeとは なんかイケてるSQLクライアントです セットアップ それぐらいしか分からないので、ひとまずDBを立ち上げて実際に使ってみようと思います。こちらのmysql-employeesを使わせていただきましょう docker run -d \ --name mysql-employees \ -p 3306:3306 \ -e MYSQL_ROOT_PASSWORD=college \ -v $PWD/

                                    次世代SQLクライアントArctypeを触ってみる
                                  • MySQLロックについて〜基礎編〜 を開催しました! - ANDPAD Tech Blog

                                    こんにちは!エンジニアの福間(fkm_y)です。 先日、弊社でデータベースの技術顧問をして頂いてる三谷(mita2)さんに開発部向けのMySQLロックのデータベース勉強会を実施したのでそのレポートをお伝えします。 開催背景 弊社では三谷さんによるデータベース勉強会を定期的に開催しています。以前にもロックに関するMySQL勉強会を開催していたのですが、1年半経過しており参加していない開発メンバーのほうが多くなっていたことやプロダクトの成長によりデッドロックなどのロックに起因する問題が目立ち始めていたことから増強版のMySQLロックのデータベース勉強会を開催することになりました。 概要 データベースのロックについて ロックタイムアウトについて デッドロックについて まとめ データベースのロックについて なぜデータベースにロック機構があるのかから知ることが重要です。性能と安全性を両立するためにあ

                                      MySQLロックについて〜基礎編〜 を開催しました! - ANDPAD Tech Blog
                                    • 世界最速レベルの性能を持つリレーショナルデータベース管理システム「劔(Tsurugi)」を開発

                                      世界最速レベルの性能を持つリレーショナルデータベース管理システム「劔(Tsurugi)」を開発― 処理性能456万TPSと応答遅延219ナノ秒を実現 ― 日本電気(株)と(株)ノーチラス・テクノロジーズはNEDOの「高効率・高速処理を可能とするAIチップ・次世代コンピューティングの技術開発」(以下、委託事業)において、世界最速レベルの性能を持つリレーショナルデータベース管理システム「劔(Tsurugi)」(以下、劔)を開発しました。 劔は、次世代のデータベースに用いられるハードウエア環境(メニーコア・大容量メモリーなど)に適合したシステムであり、ハードウエアの性能が向上するほどシステムの性能も高まる特性を有しています。32以上のコア数を有するハードウエアにおいては、世界最速レベルの処理性能456万TPSと219ナノ秒の応答遅延を実現しました。 劔の導入によって、複雑なバッチ処理とオンライン

                                        世界最速レベルの性能を持つリレーショナルデータベース管理システム「劔(Tsurugi)」を開発
                                      • SELECT ... FOR UPDATE同士でデッドロックさせる - かみぽわーる

                                        最近SELECT ... FOR UPDATEでデッドロックする話を何度かしたので。 前職のときにUPDATE同士がデッドロックしてたときに、SELECT ... FOR UPDATEで排他ロックを取ってからUPDATEしてデッドロックを防ぎますってPRをレビューしてたときのことで、複数レコードの排他ロックは一瞬ですべてのレコードのロックを取れるわけではなく、ロックを取る順番が揃っていないと簡単にデッドロックしますよという話です。 https://gist.github.com/kamipo/0bb4e37d58ba18a8cefb8aa02f778231 # frozen_string_literal: true require "mysql2" def client Mysql2::Client.new( host: "localhost", username: "root", dat

                                          SELECT ... FOR UPDATE同士でデッドロックさせる - かみぽわーる
                                        • WEB+DB PRESS Vol.122に特集「Rustで実装!作って学ぶRDBMSのしくみ」を書いた - Write and Run

                                          KOBA789 です。 時が経つのは早いもので、気づけば2月末に無職になってから1ヶ月以上が過ぎていました。 その間に何をしていたのかといえば、表題の特集記事の執筆をしていました。 宣伝 このブログ記事は WEB+DB PRESS Vol.122 を読みたくなるためのものです。ぜひ買ってね。買ったらちゃんと読んでね。 作って学ぶ RDBMS のしくみ、書きました。みんな大好き Rust を使って解説してます https://t.co/nm526qQYnm— KOBA789 (@KOBA789) April 8, 2021 gihyo.jp 使用言語は Rust だし、RDBMS はそもそも難しいトピックだしで結構重めの内容ですが、まずは読み物として寝転びながらでもいいので読んでみてほしいです。 ゴールデンウィーク*1の自由研究のお供にもどうぞ。たぶんちょうどいい分量なんじゃないかなぁ。ゴー

                                            WEB+DB PRESS Vol.122に特集「Rustで実装!作って学ぶRDBMSのしくみ」を書いた - Write and Run
                                          • RDBアンチパターンと戦う - 削除フラグ 完全攻略ガイド / delete flag

                                            PHPカンファレンス関西の登壇資料です。 WEB+DB PRESS Vol.134に詳細があります https://gihyo.jp/magazine/wdpress/archive/2023/vol134

                                              RDBアンチパターンと戦う - 削除フラグ 完全攻略ガイド / delete flag
                                            • Redis互換で25倍高速とする「Dragonfly」が登場。2022年の最新技術でインメモリデータストアを実装

                                              Redis互換で25倍高速とする「Dragonfly」が登場。2022年の最新技術でインメモリデータストアを実装 Redisやmemcachedに代表されるインメモリデータストアは、高速なデータアクセスを要求される場面で使われています。 このインメモリデータストアを2022年の最新技術を用いて設計、実装することで、Redis/memcached互換を実現しつつRedisの25倍高速とする「Dragonfly」が登場しています(開発元のアナウンス、GitHub)。 Redisやmemcachedが登場した十数年前と比べて、現在ではCPUのマルチコア化やI/Oの高速化、メモリの大容量化など、ハードウェア技術が大きく進化しています。 これらを最大限活用する設計と実装を取り入れることでRedisやmemcachedよりも大幅な高速化と高効率化を目指したのがDragonflyです。 採用した主な技術

                                                Redis互換で25倍高速とする「Dragonfly」が登場。2022年の最新技術でインメモリデータストアを実装
                                              • 自作RDBMSやろうぜ!(Zenn出張版)

                                                Disclamer 本記事は自作DBMSやろうぜ! のページの 22/05/27 JST 22:38 の時点での内容をZenn記事向けに修正して作成したものです 元コンテンツのライセンスについては以下をご参照ください LICENCE 元コンテンツの方は更新が継続されていますので、よろしければそちらもご覧ください この記事の目的 RDBMS(いわゆるリレーショナルデータベース)というものはプログラミング言語の処理系や、OSなどと同様に、世の中で広く使われているソフトウェアであるにも関わらず、いざ自作してみようと思うと日本語で記述されている必要な情報・情報源がまとまったサイトやブログ記事がないことに気づきました そこで、叩き台として、筆者および数名のコミッタで開発している自作RDBMSである SamehadaDB が軌道に乗るまでの経験をベースに、自作RDBMSに関する情報をある程度整理して書

                                                  自作RDBMSやろうぜ!(Zenn出張版)
                                                • ドキュメントDBかリレーショナルDBどっち使う? - Qiita

                                                  はじめに ドキュメントデータベースかリレーショナルデータベース、どちらを選ぶか。 この選択で、アプリケーションのパフォーマンス、コスト、コードの可読性など幅広い影響が出るため、慎重な判断が必要です。この記事では、自分が思う「考慮すべきポイント」を解説したいと思います。 考慮すべきポイント 1. どのデータモデルがアプリケーションコードに最適か スキーマ制約を課さずに、データレコードをドキュメント(つまりJSONオブジェクト)として保存すべきか?それともスキーマを正規化してデータをいくつかのテーブルに分けるべきか? このような判断をするために、開発しているアプリケーションのモデルの関係性(例: UserとTaskの関係が1:N)と、一度に読み込むデータの種類を見た方がいいです。 ドキュメントDBがおすすめの時 アプリケーションのデータは、以下のような木構造で表現できますか?普段そのデータを一

                                                    ドキュメントDBかリレーショナルDBどっち使う? - Qiita
                                                  • マイクロソフト、「Azure Cosmos DB」がずっと無料で使える「Free Tier」を発表。地球規模の分散データベースを最大5GBまで

                                                    マイクロソフト、「Azure Cosmos DB」がずっと無料で使える「Free Tier」を発表。地球規模の分散データベースを最大5GBまで マイクロソフトは、分散NoSQLデータベース「Azure Cosmos DB」が期限なく無料で使える「Free Tier」を発表しました。 Activate Free Tier on a new #azurecosmosdb account to get 400 RU/s throughput and 5 GBs storage free each month, for the life of your account. What will you build? #appdev #nosql https://t.co/BmfoWyYcbW — Azure Cosmos DB (@AzureCosmosDB) March 7, 2020 Azure

                                                      マイクロソフト、「Azure Cosmos DB」がずっと無料で使える「Free Tier」を発表。地球規模の分散データベースを最大5GBまで
                                                    • RDBMS in Action

                                                      RDBMS 理解度の壁: プロダクションや運用保守で困らないシステムを作れる知識 <<<それっぽく動くものを作れる知識 実際のシステムで遭遇・見聞きした事象をもとに、上記のスキマにある各種 RDBMS 知識を説明します。 RDBMS 本体の運用よりも、現実のアプリケーションにおける設計・実装上のハマリどころが中心。

                                                        RDBMS in Action
                                                      • システム開発で得たRedis利用ノウハウ | フューチャー技術ブログ

                                                        こんにちは。初投稿です。 2012年新卒入社の竹内です。入社当時を振り返るとOracle10g,11gを良く利用していおり、データモデリングなどテーブル設計が好きで、2018年4月ぐらいまでRDBとバッチに浸ってました。 さて、現在プロジェクトでRedisを使っているのですが、いままでRDB人間だっただけにKVSやRedisならではの特徴に四苦八苦してます。 苦しんだ分、色々な知見を得ることができているので、その内容をご紹介します! 対象者 Redisの業務システム導入を検討している方 RDBとRedisの違いを知りたい方 現場的なRedisの利用方法を知りたい方 書いてないこと データ型やコマンドなど、HelloWorld的に公式ドキュメントを見て得られる情報 インストールなど、Redisを利用できるまでの手順 フェイルオーバーやバックアップをはじめとする運用に関する内容 データ永続化に

                                                          システム開発で得たRedis利用ノウハウ | フューチャー技術ブログ
                                                        • データベースと向き合う決意 | フューチャー技術ブログ

                                                          秋のブログ週間の9本目のエントリーになります。この企画もこんなに書く人が出てくるように育っていいですね。 「中間層を増やして柔軟性を高めるのがソフトウェアの歴史」 これは大学時代に2つ上の先輩が言っていた言葉です。例えばマシン語を直接書くのではなく、アセンブラで書けば、変換(コンパイル)の手間はかかりますが、他のCPUへの移植はしやすくなります。高級アセンブラと名高いC言語を使えばさらに移植性は上がります。C言語で書かれたVMを使う言語、例えばJava、Python、Rubyなんかはさらに移植性は上がります。 ストレージもそうです。最終的にストレージはビット列を保存するものですが、それにOSのファイルシステムというレイヤーがあり、そこにスキーマで管理されたデータを入れるDBMSが乗っかり、SQLなどの問い合わせ言語でデータ取得できるようにします。DBMSを挟むことで、レプリケーションでバッ

                                                            データベースと向き合う決意 | フューチャー技術ブログ
                                                          • 理屈で考える、データベースのチューニング / Database tuning How-To

                                                            Oracle データベースの内部構造に着目して、さらなるチューニングを行うために必要な基礎知識をまとめた資料です。

                                                              理屈で考える、データベースのチューニング / Database tuning How-To
                                                            • DynamoDBでできないこと

                                                              この記事について 本記事は、筆者が普段AWSの各種サービスを使って感じた感想・気づきをもとに、クラウドアーキの設計やサービスのより良い使い方Tipsを考察するシリーズです。 第二弾も第一弾に引き続きDynamoDBについてです。 DynamoDBはkey-value型のNoSQLであり、従来よく使われていたRDBとは異なるDB特性・クエリ特性を持っています。 そのためRDBを設計するときと同じようなノリでスキーマ設計・テーブル設計を行うと、後から「この操作をやらせるならDynamoDBじゃないほうが良かったんじゃないか?」ということが発覚しがちです。 本記事では筆者が遭遇した「DynamoDBでやらせてみたら苦労した・できなくて設計変更を強いられた」というユースケースをまとめることで、DynamoDBのクエリ特性や適性を考察することを目指します。 使用する環境・バージョン 2024/1/1

                                                                DynamoDBでできないこと
                                                              • なぜシェルスクリプトで高度なデータ管理にSQLiteを使うべきなのか? ~ UNIX/POSIXコマンドの欠点をSQLで解決する

                                                                なぜシェルスクリプトで高度なデータ管理にSQLiteを使うべきなのか? ~ UNIX/POSIXコマンドの欠点をSQLで解決するShellScriptUNIXSQLitePOSIXQiitadelika 「利用者は数十億人!? SQLiteはどこが凄いデータベース管理システムなのか調べてみた」の続きです。 はじめに 複雑な構造のデータを扱うのであればシェルスクリプトや Unix (POSIX) コマンドでデータ管理を行うのは避けるべきだと思います。解決不可能な問題が多いからです。しかしそれでも何かしらの理由でやろうと考える(やらなければいけない)のであれば SQLite を使うのをおすすめします。シェルスクリプトや Unix コマンドは行単位の単純なテキストデータをシーケンシャルにデータ処理するのが前提となっており、改行や空白が含まれるデータや複雑な構造のデータ扱うのは苦手です。またシェル

                                                                  なぜシェルスクリプトで高度なデータ管理にSQLiteを使うべきなのか? ~ UNIX/POSIXコマンドの欠点をSQLで解決する
                                                                • DynamoDB の設計について考えてみる。 - Qiita

                                                                  Amazon DynamoDB の特性 フルマネージド型の NoSQL データベースサービス 3つの Availability Zone に保存されるので信頼性が高い 性能要件に応じて、テーブルごとにスループットキャパシティを定義するキャパシティの Auto Scaling、オンデマンドキャパシティといった設定も可能 ストレージの容量制限がない DynamoDB のテーブル DynamoDB におけるテーブルはRDBMSにおけるテーブルと概念が異なります。 テーブルを作成する際に、Primary Key を指定する必要があります。 Primary Key はテーブルの各項目を一意に識別するために使います。Primary Key は、Partition Key および Sort Key で構成されます。(Sort KeyがなくPartition Keyのみの場合もあります) Item は R

                                                                    DynamoDB の設計について考えてみる。 - Qiita
                                                                  • 3値論理

                                                                    なぜ「= NULL」ではなく「IS NULL」と書かなくてはならないのか? これは、気になっている人も多いはずです。まだ SQL に不慣れな頃、ある列が NULL である行を選択しようとして、 SELECT * FROM table_A WHERE col_1 = NULL; というクエリを書いてしまい、エラーになったり思い通りの結果が得られなかった、という経験は、ほぼ全ての人が持っているでしょう。ちょうど C言語や JAVA を習い始めのころに「if (a = 5)」と書いてしまう間違いとよく似ています。最初は、言語仕様の汚さにぶつぶつ文句をいいながらも、そのうち「IS NULL」という書き方に慣れてしまって、疑問を持たなくなります。 でもどう考えても奇妙な書き方ですよね。こんな素直でない書き方をしなくてはならないということには、やはりそれなりの理由があるのです。今からその理由を説明しま

                                                                    • NEDOが25億円投じ日の丸RDBを開発中、「国産にも勝機あり」と自信を見せる理由

                                                                      厳格なOLTPと高速なOLAPを両立 新RDBの特徴は厳格なOLTP(オンライントランザクション処理)が可能でありながら、ビッグデータ分析にも使用できる高いOLAP(オンライン分析処理)性能を有していることだ。OLTPとOLAPの両立はHTAP(Hybrid Transaction/Analytical Processing)と呼ぶ。OLTPで用いる行方向のデータは不揮発性メモリーを採用する主記憶(メインメモリー)に格納し、OLAP用の列方向のデータを2次記憶装置に格納する。2次記憶装置にも不揮発性メモリーを使用する。 OLTPに関しては、トランザクション処理の分野で一般的なベンチマークである「TPC-C」において1ノードで1000万トランザクション/秒(TPS)の達成を当面の目標とする。そしてトランザクション処理においては、一貫性と隔離性のレベルを示す「トランザクション分離レベル」が最も

                                                                        NEDOが25億円投じ日の丸RDBを開発中、「国産にも勝機あり」と自信を見せる理由
                                                                      • SQL Training 2021

                                                                        Transcript SQL 株式会社 AI Shift 三宅 悠太 1. データベース 2. SQL I 3.トランザクション 4. データベース設計 5. インデックス 6. 実行計画 7. SQL II データベース データベースとは “A database is an organized collection of inter-related data that models some aspect of the real-world “ (CMU) データベースとは、実世界のある側面をモデル化した、秩序 だった、相互に関連したデータの集まり DBMS • データベース管理システム(DBMS)は、データベースを管理するソフトウェア ◦ 例:MySQL, Oracle Database, SQLite, MongoDB • DBMSの目的は、アプリケーションが簡単にデータベースにデー

                                                                          SQL Training 2021
                                                                        • ID生成方法についてあれこれ

                                                                          ID生成について聞かれることが多いので、独自の観点でまとめてみます。タイトルは適当です…。 DBはMySQL(InnoDB)を想定しています。あしからず。 ID生成を知りたいなら ID生成に関しては以下の記事がよくまとまっているので参考にしてみてください。値形式など詳しく書かれています。 ID生成大全 Facebook, Twitter, Instagram等がどうやってIDを生成しているのか まとめ ID生成方法 以下のID生成方法は、お手軽に採用しやすいもの順で列挙します。 DB採番/連番型 AUTO_INCREMENT DBのAUTO_INCREMENTで採番する方法。 Pros 数値型で扱える 普通は64ビットの整数型を採用することが多い 単調増加する連番ですので、ソート可能でかつインデックスの空間効率がよい 単調増加するので、キャパシティを予測しやすい 64ビットあればあまり気に

                                                                            ID生成方法についてあれこれ
                                                                          • 0421DS協会_ChatGPTによって描かれる未来とAI開発の変遷.pdf

                                                                            発表動画はこちら。 https://youtu.be/l9fpxtz22JU 2023/4/29 一部修正とAPIに関するページ追加 2023/5/11 ChatGPTの言葉の意味を補足する資料を追加。Azure OpenAI Serviceで使えるモデルの記載を一部修正・最新情報追記。 2023/5/15 一部Fine tuningとPromptに関する記載を修正 2023/5/26 Plugin補足資料を追加 2023/6/12 Fine tuningとPromptingの位置づけを一部修正 2023/6/16 非機能要件に対応するスライドを何枚か追加。リージョン情報などを更新 アジェンダ 1 GPTの全体像 GPTとは何なのか ~チャットAIを例にした動作イメージ~ GPTによって実現されたサービス MicrosoftのGPT活用 国内のGPT導入の関連ニュース GPTに期待される用

                                                                              0421DS協会_ChatGPTによって描かれる未来とAI開発の変遷.pdf
                                                                            • idをautoincrementして何が悪いの?

                                                                              idをautoincrementしない方が良い理由 こんにちは。株式会社プラハCEOの松原です。 最近プラハチャレンジの参加者とお話している際に 「PKのidはautoincrementするとして...」 とナチュラルにid=autoincrementするものという前提が見えたので、「本当にidをautoincrementしても良いものだろうか?」と気になったことを書いてみようと思います。もしフレームワークが自動的にautoincrementでテーブルを作るからなんとなく使っているという方がいたらご一読いただいた後、それでも連番を使いたい理由があれば教えて欲しいです・・! 不必要に情報を晒すことになる スクレイピングされたり もしも僕が某大手に勤めているエンジニアで「競合サービスAにのってる物件情報、全部コピーして新しいサービス作ろうぜ」と指示されたらですよ?「人としてそれはやっちゃダメで

                                                                                idをautoincrementして何が悪いの?
                                                                              • [速報]Google、Amazon Auroraに対抗する高性能DB「AlloyDB for PostgreSQL」発表。通常のPostgreSQLよりOLTPが4倍高速、OLAPが100倍高速と

                                                                                Google Cloudは開催中のイベント「Google I/O 2022」で、PostgreSQLフル互換の高性能な新データベースサービス「AlloyDB for PostgreSQL」のプレビューリリースを発表しました。 Google Cloudは以前からPostgreSQLのマネージドサービス「Cloud SQL for PostgreSQL」を提供しています。今回発表された「AlloyDB for PostgreSQL」は、Googleのクラウドインフラや機械学習の技術を積極的に投入し、より高性能かつミッションクリティカル向けのデータベースサービスとして構築したものです。 AWSと比較するならば、一般用途向けのデータベースサービスである「Amazon RDS」に対抗するのがGoogle Cloudの「Cloud SQL」であり、データベースをクラウドネイティブなアーキテクチャとして

                                                                                  [速報]Google、Amazon Auroraに対抗する高性能DB「AlloyDB for PostgreSQL」発表。通常のPostgreSQLよりOLTPが4倍高速、OLAPが100倍高速と
                                                                                • DynamoDBのベストプラクティスを技術的詳細から理解する

                                                                                  こんにちは。 株式会社CHILLNNという京都のスタートアップにてCTOを務めております永田と申します。 弊社では宿泊施設様向けに宿泊施設の予約管理用のSaaSを提供しており、現時点で1000近くの施設様にご利用いただいています。 現在、これまでに溜め込んだ日本最大級の宿泊コンテンツの検索エンジンを構築しており、その過程でさまざまなデータベースを探索しています。 本記事では、AWSのKVSであるDynamoDBを題材に、公式ドキュメントに書かれているキー設計のベストプラクティスの背景を理解することを目的とします。 なお、本記事の執筆にあたって、こちらの動画を大変参考にさせていただきました。 DynamoDBとは DynamoDBとは、AWSで利用できる、あらゆる規模に対応する高速で柔軟なNoSQLデータベースサービスです。 DynamoDBが登場した背景は、アプリケーションの大規模化です。

                                                                                    DynamoDBのベストプラクティスを技術的詳細から理解する