タグ

uuidに関するxyzpdaのブックマーク (6)

  • PostgreSQLのプライマリーキーはSERIALとUUIDのどっちが速いのか実験してみた - Qiita

    注意 この記事の実験は実際の運用を正確に反映していない恐れがあります(コメント欄の @hmatsu47 さんの投稿を参照)。 実務のアプリケーションでは異なる結果になる可能性もあるので、記事の内容はあまり鵜呑みにせず参考程度に留めておいてください。 ※「実務に近い環境で実験してみた」という投稿もお待ちしています! はじめに データベース(この記事ではPostgreSQLを対象とします)の主キーは1,2,3のような連番の整数値を主キーにするSERIALと、"00009236-b73c-4338-8ebd-e1f6c4f4fdd8"のようなランダムな文字列を主キーにするUUIDがあります。 それぞれメリットとデメリットがありますが、パフォーマンスについてはどうでしょうか?なんとなくSERIALの方がシンプルなぶん、速そうなイメージがありますが、実際はどうなのか調べてみました。 実行環境 Ma

    PostgreSQLのプライマリーキーはSERIALとUUIDのどっちが速いのか実験してみた - Qiita
  • 一意な識別子の生成でUUID/ULID/CUID/Nano IDなど検討してみた - Sweet Escape

    最近、一意な識別子について検討することがあったのでその検討メモ。 一意な識別子とは つまり、重複しない、ユニークな識別子(Identifier, 以下id)のこと。ここではRDBのテーブルにおける主キーとして使うことを想定かつ前提としている。したがって、主キーの要件であるユニーク性を持ったidをどうやって生成していくか。 そんなのDBの連番でいいじゃんて話もあるがここではその話はせず、あくまでも一意な識別子をどう生成するかの話に絞る。 選択肢 一番有名だと思われるUUIDを筆頭にいくつかの選択肢がある。 UUID ULID CUID Nano ID 他にもTwitter発のSnowflakeとか今はDeprecatedになってるshortidなどがあるが、キリがないのでここでは上記の4種類だけで簡単に比較した。また、実際にはUUIDはバージョンによってSpecが異なるがここではバージョン4

    一意な識別子の生成でUUID/ULID/CUID/Nano IDなど検討してみた - Sweet Escape
  • SQLアンチパターン簡単まとめ

    SQLアンチパターン」について、自分の勉強がてら内容を簡単にまとめました。 「とりあえずSQLは触れてWebアプリが作れる」「シンプルなアプリを実務で作ったことがある」くらいの人が読むととても勉強になると思います。 また、「現場での良くない設計」が詳細に言語化されているので、経験豊富な人でも新たな発見があると思います。 詳しく知りたい方は是非を買って実際に読んでみて欲しいです。 第一章 ジェイウォーク パターン 1カラムにコンマ区切りで値を入れて複数の紐付きを表現しようとする なぜダメか 検索しづらい 文字列カラムの文字数制限という暗黙の制約を受ける バリデーションかけられない 解決策 交差テーブルの作成 第二章 ナイーブツリー パターン 木構造を表現するとき、常に親のみに依存する(parent_idだけ持ってしまう) 隣接リスト なぜダメか 階層を深く掘ろうとするとそのぶんSQLをか

    SQLアンチパターン簡単まとめ
  • idをautoincrementして何が悪いの?

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

    idをautoincrementして何が悪いの?
  • ISUCON11 予選問題の解説と講評 : ISUCON公式Blog

    ※2021.09.18 18:44 MariaDBのDESC指定に関する記述を修正しました --- こんにちは、ISUCON11 予選問題担当の Mahito です。 この記事では ISUCON11 予選問題であるアプリケーション「ISUCONDITION」について、問題の概要と想定した解法について解説を行います。なお、ISUCON11 予選問題の作問はNTTコミュニケーションズ株式会社 - kanata、Mahito、東京工業大学デジタル創作同好会traP - eiya、oribe、ryoha、ヤフー株式会社 - okimoto、 tabuchi の7名で担当させていただきました。 ISUCONDITION とはISUCON11 予選問題は、ISU (問題ではイスをこう表現していたのでここでもそう表現します) が人々にとって大事なパートナーとして扱われる世界で、ISU から送られるデータ

    ISUCON11 予選問題の解説と講評 : ISUCON公式Blog
  • UUID version 6の提案仕様 - ASnoKaze blog

    [2021/04/28追記] 新しく提案仕様が出たので、新しく記事を書きました asnokaze.hatenablog.com 先日IETFに提出された「UUID Format Update」という提案仕様の中でUUID version 6のフォーマットが言及されている。このDraftはUUIDを定義しているRFC4122を更新するものです。 ただ、まだIndividual Draftのdraft 00であり、この提案自体どうなるかは全くわからない点に注意が必要。 なお、UUIDv6自体はこの提案を行っているBrad G. Peabody氏が以前から取り組んでいた模様で、4年以上まえから案は存在していたようだ(URL)。またそのタイミングでサンプル実装も公開している。 UUIDv6 この提案仕様の中で、UUIDをデータベースのプライマリキーとして使用する際の課題をあげている。時系列順に並び

    UUID version 6の提案仕様 - ASnoKaze blog
  • 1