自分の意見をUuidとしてデータベースの列識別子、特にwebアプリ?

StackOverflow https://stackoverflow.com/questions/5949

  •  08-06-2019
  •  | 
  •  

質問

私はいつも優先利用の長整数として次のキーデータベース、簡単のため、想定速度です。を用いる場合 休み またはレールのようなURLスキームのためのオブジェクトインスタンス、そして終わるUrlのようになります:

http://example.com/user/783

その前提であることもありユーザー Id782,781,...,2,1.このウェブアプリの問題が十分安全であるとはいえな防止への参入者その他の番号を表示その他のユーザーの許諾なしに、順次割り当てたサロゲートキーもの"漏洩"の合計インスタンス数以上すので、この場合、ユーザーが権限情報です。(たとえばユーザー#726stackoverflow.)

のよう UUID/GUIDより解決するのかその設定Urlのようになります:

http://example.com/user/035a46e0-6550-11dd-ad8b-0800200c9a66

のような簡潔なのは、暗黙のユーザーに関する情報を展示しています。い~だの"セキュリティを通じても視線をさえぎ"は実現することができませんの代替のための適切なセキュリティうですが、少なくとも少しあります。

はるあのコストと複雑さを実施しUuidのためのweb-addressableオブジェクトインスタンス?思いを利用したい整数として、列のデータベースPKsるだけで高速化が仲間入り。

がどのように行うのかも問題になる-データベース表現のUuid.知っていMySQLの店舗として36-文字列が入ります。Postgresいうより効率的な内部表現(128ビット?) ったのでやっている。誰でも経験す。


更新:人に問いかにユーザー名のURL(例えば、 http://example.com/user/yukondudeる動作のためのオブジェクトインスタンスと名前がつけられていますが、そのzillionsのwebアプリケーションオブジェクトでもみられる。注文の取引では、請求書、画像、氏名、stackoverflowの質問、...

役に立ちましたか?

解決

どちらともいえないのウェブ側の質問です。がuuidによるn-tier願います。PK世代分散して配置できるかでき:お客様の発生でpkなリスクの衝突.の速度差は一般的に小さい。

必ずデータベース支援の効率的な保存データ型(16バイト128ビット)少なくともできるエンコードのuuid文字列をbase64でエンコードおよび使用char(22).

使いて広くFirebirdといいます。

他のヒント

そのような、長期の保存手順(9+秒をクリックすると、数百ミリ秒単位の時だけで切り替えからGUID主キーの整数です。している 表示する ることは悪いことですが、その他指摘の通り、接合、インデックスは、定義によってすいません、ここからも近くてと整数です。

で回答することにSQLサーバーをご利用の場合uniqueidentifier(ガイド)データ型を使用しNEWID()機能-価値を取得します恐ろしい破砕からページ分割.その理由は利用の場合NEWID()の値で生成されないシーケンシャルです。SQL2005年のNEWSEQUANTIAL()関数を治療する

一つの手段も使用すintできることintのテーブルのガイドマップのint.のことは外部からのint内のDB

例えば、

457180FB-C2EA-48DF-8BEF-458573DA1C10    1
9A70FF3C-B7DA-4593-93AE-4A8945943C8A    2

1-2のまま使用する接合の特別な技術を必要とwebアプリです。この表にか狭いが必要なユーティリティを照会する

なぜカップルでのご主キーをおURI?

してみてはいかがでしょうかごURIをキーする人間が読める形式又はunguessableにも迅速に対応します)、一次指数の整数に基づく、そのベストの両方を楽しめます。多くのブログソフトウェアは、露出のid入力を特定の"スラグ、数値のidに隠れた内部のシステム。

にここにきて本当に素晴らしURLの構造、仲良しカップルにオススメです。明らかに取引によりこれにあてはまるわけではないことがうstackoverflowことが重要です(URLまでスタンダードなプランです).く独自性はそんなに難しいです。の場合も、当該店舗のハッシュ、スラグの内部にテーブルのどこかに、ルックアップの前に挿入出来ます。

編集: Stackoverflowなシステムの利用を使う、などのコメントします。

ではなくUrlのようになります:

http://example.com/user/783

してみてはいかがでしょうか:

http://example.com/user/yukondude

る反人間の漏れないことを少し。

を使用できる整数に関する行番号がないシーケンシャルです。例えば、32ビットの連続IDで並べ直すとの固定スキーム(例えば、ビットが1になりビット6、ビット2となりビット15!
これは、双方向の暗号化、必ずといっていいほどこの二つの異なるIdは常に異なる項目.
で明らかにすると容易に解読が一の時間を十分にIdを取得しスキーマがわかれば、正しくお客様の問題点、あなただけの思い情報も容易です。

使用してい特別な技術を必要として主に鍵のためのすべてのテーブルで兼ねてのRowGUID MS SQLサーバです。でもクライアントが突然開始オフィスを別の世界---

ないと思い、すでに多くの特典。ユーザーに嫌長、解釈不能なUrlに対するものとなります。

を短縮できるIDを地図のURL、または執行のユーザー名条約(http://example.com/user/brianly).はい 37Signals あろうが模擬まで悩むようなことでwebアプリです。

ちなみにできる力データベースを整数Idベースの値です。

もよるだけ気にしています。N tierのアプリ特別な技術を必要と/Uuidは簡単な実装がしやすくなり港間の異なるデータベースです。を整数型キーの一部のデータベース対応シーケンスオブジェクトネイティブの一部を必要とカスタムの構築、配列表に示す。

整数型キーと思いない数字)メリットをクエリインデックスとしての性能として、スーパーコンピュータの利用直DB照会があります。く数字キー、コピー/ペーストもしやすく、覚えておいてください。

作品に仕上がったと思い学生管理システムを利用しUUIDの形式の整数となります。このテーブルの次に独自のIDです。

ものではないだろうか良いアイデアのための建築的な視点で作業日常的に困難です。ある必要があるないバルクを挿入し、このUUIDのこの難易度が高く、通常必要な書面にカーソルの代わりに単純な選択入ります。

たっても実際のライブラリーです。

私の意見であることが好ましい使用には整数として、わかりやすいurlに対するものとなります。

開発者として、見てちょっとひどを見て逐次整数を知ることについての情報計記録カウントが外部に漏れてるが、正直、日本人のいていないのかもしれませんのケア、その情報をもって臨ん。

と醜いUUIDのurlしんでいただけるようになってもよoff通常のユーザー

これはこれらの問題の原因となる疑似宗教論、そのほとんど趣味の話ます。いうのを使用します。に99%のシステムまなタイプのキーを使用すので、給付はその他の投稿)の使用を考え、その他いたしません。

と思いを利用すれば、より良い選択肢のまま利用可能です。かなりスペースがあります。

Youtubeを使11文字をbase64エンコードするには、11^64posibilities、普段かわいい管理への書き出します。いているのだろうかとすれば以上のパフォーマンスをフルにUUID.UUIDに変換基64するダブルサイズだと思います。

詳細情報はこちらをご参照下さい https://www.youtube.com/watch?v=gocwRvLhDf8

どをご利用のDBシステムの効率的保管、HDDが安いことにかく...

いことのできるb*tch作業時間が、一部のクエリを架して安全保障上の観点からも、救い主.

考えるセキュリティの育などを形成する場合、その曖昧URIの建normalised DBのテーブル、記録、カラム定されたセキュリティ対策お客さんは一部組み合わせによってことで、やってみる整数に基づくidです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top