タグ

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

  • データベースでユニークキーにUUIDを使うメリットは何ですか?連番やタイムスタンプまたは複合などではいけないのでしょうか?どうも視認性が悪く使いにくく感じますし連番でも衝突しない気もします。

    回答 (7件中の1件目) まずはUUID及びその対案として用いられる連番(自動採番)のメリット・デメリットを整理します。 (タイムスタンプキーや複合キーなどもその効率性から設計上有用なシーンはありますが、比較から除外します。) * UUIDを使うことのメリット * * データベースにSQLを送信する前からアプリケーションレイヤーでIDを生成できる。 * * トランザクション処理を実装しやすい場合がある。 * IDを推測しにくい。リソースが列挙可能ではない。 * UUIDを使うことのデメリット * * レコード・インデックスサイズが増加する。 * * ...

    データベースでユニークキーにUUIDを使うメリットは何ですか?連番やタイムスタンプまたは複合などではいけないのでしょうか?どうも視認性が悪く使いにくく感じますし連番でも衝突しない気もします。
  • リレーショナル・データベースの世界

    序文 私の仕事は、DBエンジニアです。といっても別に望んでデータベースの世界へきたわけではなく、当初、私はこの分野が面白くありませんでした。「Web系は花形、データベースは日陰」という言葉も囁かれていました。今でも囁かれているかもしれません。 ですが、しばらくデータベースを触っているうちに、私はこの世界にとても興味深いテーマが多くあることを知りました。なぜもっと早く気づかなかったのか、後悔することしきりです。 もちろん、自分の不明が最大の原因ですが、この世界に足を踏み入れた当時、先生も、導きの書となる入門書もなかったことも事実です。 今でこそバイブルと仰ぐ『プログラマのためのSQL 第2版』も新入社員には敷居が高すぎました (2015年2月追記:その後、自分で第4版を訳出できたのだから、 人生は何があるか分からないものです)。 そこで、です。このサイトの目的は、データベースの世界に足を踏み

  • 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
  • 検索画面:奈良文化財研究所 史的文字データベース連携検索システム

    検索文字 検索する ・調べたい文字を入力してください。(単文字のみで指定可能です) By using this site, you are allowing the configuration and use of cookies. For details, please see our Privacy Policy. Agree

  • 筑波大学でデータベースの話をしてきました - kuenishi's blog

    筑波大学の川島先生に呼ばれて木、金と情報システム特別講義Dというやつに参加してきた。こんなことになるとは思っていなかったが、あろうことか講師側で呼ばれてしまい、思えば遠くへ来たものだと感慨深い。フリは「RiakとNoSQLの話をしてもらえたら」という非常に自由度の高い内容なので、せっかくなので僕の知っていることを全部詰め込んで話してやろうと思ったら10分延長してさらにスライド10枚分くらいを消化不良で終了という、みっともない感じになってしまった。かなり端折ってポイントだけ説明したので流れが分からず苦労した方も多いと思うが、まあ僕の性格なので許してほしい。データベースの講義をひと通り終えた院生レベルを想定してスライドを作ったので、もしかすると、わりと難しかったり分かりにくかったりするかもしれないので、わからないことがあったら適当に質問してください。 言いたかったことの流れを僕なりにまとめると

    筑波大学でデータベースの話をしてきました - kuenishi's blog
  • デイヴィッド・スピヴァックはデータベース界の革命児か -- 関手的データモデル - 檜山正幸のキマイラ飼育記 (はてなBlog)

    最近、「おおおー、これは凄い、すんばらしい!」と思ったことがあるので、それについて書きます。 最初に言葉についてのお断り; "categorical"の訳語をどうしようか? と。片仮名で「カテゴリカル」が無難ですが、漢字で書きたい。「圏論的」が落ち着きがいいようですが、必ずしも「論」の意味を含まないときもあります。そこで、以下、「圏的」を使います。 [追記 date="2013-02-12"]入門的解説を書きました。→「衝撃的なデータベース理論・関手的データモデル 入門」[/追記] スピヴァックと関手的データモデル デイヴィッド・スピヴァック(David I. Spivak, http://math.mit.edu/~dspivak/)は、MITの研究者です。 彼は圏的情報学(categorical informatics)を提唱しています*1。圏的情報学の中心的な概念が関手的データモデル

    デイヴィッド・スピヴァックはデータベース界の革命児か -- 関手的データモデル - 檜山正幸のキマイラ飼育記 (はてなBlog)
    nanakoso
    nanakoso 2013/01/28
    圏論の成果を直接的にDBに応用できそうな予感
  • danbooruのタグクラウドを表示してみた - デー

    danbooruという海外イラスト転載サイトをクロールしたので、検索結果に対応するタグクラウドを表示するようにしてみました。 やったことは、 元画像のMD5を計算してdanbooruのデータと照合し、一致するものがあればサムネイルにタグを対応づける 検索結果のうちタグがついてるサムネイルからタグの集合を作って2個以上重複するタグについて個数で重み付けてそれっぽく表示する です。 face-search-v1の元データはdanbooruから取得した画像ではないので、全部の画像にタグが付いているわけではないですが、試したところ4割ほど対応付けられたので(よ、4割も!すごい!)、ちょっと確認するのにはいいかなーと思ってやってみました。 なにを確認したかったかというと、メモリベースの手法でキャラクター推定ができそうかどうか、ということです。 今のface-search-v1は画像を入力できないで

    danbooruのタグクラウドを表示してみた - デー
  • 特集:基礎から理解するデータベースのしくみ - 特集:基礎から理解するデータベースのしくみ:ITpro

    「データベースはブラックボックス。どんなSQL文を投げたらどんな結果が返ってくるかさえ知っていればよい」---そう思っている人も多いかもしれません。 しかし,物のソフトウエア・エンジニアを目指すのであれば,データベースが動く仕組みを学ぶことは避けて通れません。パフォーマンスなどに問題が生じたときどこから手を付けていいのか皆目見当がつかない,といった事態に陥りかねません。 市販のRDBMSの内部はかなり複雑ですが,基的な部分を理解するのはそれほど難しくありません。この特集でデータベースの動く仕組みを理解してください。 イントロ ●ブラックボックスのままでいいの? 基礎から理解するデータベースのしくみ(1) Part1 ●SQL文はどのように実行されるのか 基礎から理解するデータベースのしくみ(2) 基礎から理解するデータベースのしくみ(3) 基礎から理解するデータベースのしくみ(4) 基

    特集:基礎から理解するデータベースのしくみ - 特集:基礎から理解するデータベースのしくみ:ITpro
  • 第1回 DBFluteの概要 | gihyo.jp

    はじめに JavaにおけるDBアクセス周りの実装は、アプリケーション開発において非常に問題の多い領域です。数多くのO/Rマッパが登場していますが、現場の要件を満たせるものはまだまだ少ないかと思います。 そのような状況の中、DBFluteは誕生しました。稿では、このDBFluteが一体どういったもので、現場の問題に対してどのように解決をしていくか、基から応用まで紹介していきます。 今回のターゲットとする言語はJavaですが、実はDBFluteはC#版も存在します。ほぼ同じ仕様で実現されていますので、文法的な違いだけを読み替えることでC#ユーザの方にもお楽しみ頂ける内容かと思います。 前提とするテーブル構造 これからの説明で登場するサンプルの実装では、図1のテーブル構造を前提として話を進めていきます。 図1 サンプルのテーブル構造(詳細は、こちらをご覧ください) DBFluteの概要(1)

    第1回 DBFluteの概要 | gihyo.jp
  • GitHub - ondras/wwwsqldesigner: WWW SQL Designer, your online SQL diagramming tool

    Hi and welcome to WWW SQL Designer! This tool allows you to draw and create database schemas (E-R diagrams) directly in browser, without the need for any external programs (flash). You only need JavaScript enabled. The Designer works perfectly in Chrome, Mozilla (Firefox, Seamonkey), Internet Explorer, MS Edge, Safari and Opera. Many database features are supported, such as keys, foreign key const

    GitHub - ondras/wwwsqldesigner: WWW SQL Designer, your online SQL diagramming tool
  • Seasar2 - S2JDBC

    spacer The Seasar Project Site Search Seasar Banner About ホーム ライセンス ダウンロード 課題追跡 ChangeLog 移行ガイド ドキュメント 一覧 セットアップ DIContainer AOP S2JDBC S2JDBCとは チュートリアル セットアップ エンティティ JdbcManager サービスの作り方 タイプセーフAPI その他の機能 S2JDBC-Gen FAQ (全般) FAQ (AOP) Javadoc S2-Framework S2-Extension S2-Tiger モジュール Seasar2 S2-Framework S2-Extension S2-Tiger プロジェクト文書 プロジェクト情報 目次 S2JDBCとは 概要 流れるようなインターフェースと脱CoC 90%のSQLを自動生成する Java

  • SQLで集合演算:CodeZine

    はじめに SQLが集合論に立脚する言語であるということは、この連載で一貫して強調してきたテーマの一つです。その特性のゆえに、SQLは「集合指向言語」と呼ばれていますし、実際、集合的な観点から見たときに初めて、その強力さが理解できると私は考えています。しかし現実には、SQLのこの側面は長らく無視されてきました。 その背景には、SQLにも責任の一端があります。というのも、SQLはちょっと前まで、高校で習う程度の基的な集合演算子すら持っていなかったからです。和(UNION)こそSQL-86からの古参ですが、交差(INTERSECT)と差(EXCEPT)が標準に入ったのはSQL-92ですし、除算(DIVIDE BY)が未だに標準化されていないことは、前にも述べました。だから、SQLが言語として不完全だという批判は、理由のないものではなかったのです。 しかし、現在では標準SQLに基的な集合演算子

  • not found

    not found

  • 純粋関数型言語とO/R mapper - lethevert is a programmer

    DBアクセスをサポートする現代的なプログラミング言語には、O/R mapperが欠かせないような気がするのだけれど、当にそうでしょうか? なんて書く以上は、そうではないことを考えているのですけれど。 そもそも、何故O/R mapperというものが存在するかといえば、SQLとオブジェクト指向言語の親和性があまりにも低くて、SQLの構造に依存したドライバの類がことごとく使いにくいために、言語の特性に近いインターフェースのライブラリで、その部分を上手く隠してやりたいという欲求から出たものではないかと思っているのですが。。。(もうちょっと考えると、オブジェクト指向言語の手続き型的な側面が、SQLとの親和性を低くしているので、言語のオブジェクト指向的なところを上手く使って宣言的な記述に近づけたライブラリが、O/R mapperの意味なのではないかという風な仮説を立ててみたりしているのですが) で、

    純粋関数型言語とO/R mapper - lethevert is a programmer
    nanakoso
    nanakoso 2006/09/13
    検索はそれでいいとして更新系はやっぱモナドなんだろうな。頭悪いからすぐ思いつかないけど。トランザクションとかうまくいくんだろうか。
  • RDBMSは本当に便利なのか:やむにやまれず - CNET Japan

    最近スケーラビリティが花盛りですね。 一昔前からLAMPによるアーキテクチャが基セットで展開されていました。大企業的思想では、「そんなおもちゃみたいなセットでミッションクリティカルは乗り越えられないのだ!」とか言われ、一部では無視すらされてきたわけですが、最近になってやっと先人のノウハウが少しずつ世に出てきて、古い世代の人達も「そんなに安くてスケールさせながら使えると言うのなら…」と重い腰を上げ始めました。 ミッションクリティカルをLAMPスタックだけで網羅的にやるのはさすがに用途が違いすぎてチャレンジになってしまいますが、その中でもアクセスの膨大な大規模サイトを安定的に動かす…といった要件には有効で、ニーズもあることがやっと理解されてきたように思います。 最近ではmixiや、Livedoorの中の人が何かの講演会や雑誌でノウハウの発表をしていたり、Flickrの中の人も"Buildin

    nanakoso
    nanakoso 2006/09/03
    欲しいのはトランザクションとデータの独立性とスケーラビリティだけであってみんな本当はリレーションモデルやSQLなんざどうでもいいんじゃね?とは前前から思ってた
  • 中里一日記: DELETEと参照

    DELETEと参照 Houndを通じてかれこれ1年以上、RDB(PostgreSQL)とORM(Cayenne)につきあってきた。そろそろ、この世界の味がわかってきたので、書きとめておく。 結論:DELETEは深遠な哲学的問題だ。 題に入る前に、RDBの濫用について片付けておこう。 RDBは、あらゆるコンピュータ技術のなかで、もっとも濫用されている。積もりに積もった装飾をはぎとってみれば、RDBというシロモノは、ある面で比類なく優れているかわりに、それ以外の面では恐ろしく融通がきかない。オブジェクト指向がミニバンだとしたら、RDBはF1マシンだ。装飾に隠されてはいるが、質は変えられない。このことを忘れて設計した人々は、あとで莫大な額のツケを請求される(こうしてOracleが儲かるわけだ)。 手始めに、行ロックを退けよう。トランザクションを開始するときには、トランザクションを終了するまで

    nanakoso
    nanakoso 2006/06/21
    DELETEフラグカラムの存在理由
  • 1つのSQL文で複数の表にINSERTする絶品テクニック(1/2) ― @IT

    連載はSQLの応用力を身に付けたいエンジニア向けに、さまざまなテクニックを紹介する。SQLの基構文は平易なものだが、実務で活用するには教科書的な記述を理解するだけでは不十分だ。連載は、著名なメールマガジン「おら!オラ! Oracle - どっぷり検証生活」を発行するインサイトテクノロジーコンサルタントを執筆陣に迎え、SQLのセンス向上に役立つ大技小技を紹介していく。(編集局) FOR...LOOP文を使って、いくつものSQL文でデータをINSERTしているPL/SQLプロシージャやプログラムをよく見掛けますが、実は1度にデータをINSERTする方法もあるんです。マルチテーブル・インサート(Multitable Insert)とはその名のとおり、1つのSQL文で複数の表にINSERTが可能になります。この最大のメリットは、やはりパフォーマンスです。では早速ご紹介します。 マルチテーブ

    1つのSQL文で複数の表にINSERTする絶品テクニック(1/2) ― @IT
  • 素早く正規形を見抜く実践テクニック(1/4) - @IT

    今回のテーマはデータベースエンジニアの必須知識の1つである「正規化」です。正規化は、リレーショナル・データベースのテーブル設計を行ううえで非常に重要なテクニックであり、データベースを設計、実装したことのある方なら一度は正規化に触れているのではないでしょうか。 それほど基的な知識であるにもかかわらず、正規化を説明できる人はなかなかいません。多く聞かれるのが「何となくテーブルを作ると自然に第3正規形になる」とか「実務上は第3正規化まで行えば問題ない」というものです。 ではなぜ「第3正規化まで行えば問題ない」のでしょうか。稿ではひととおり正規化について確認しながら、あまり触れられることのない第3正規化より先の正規化を紹介して、この疑問に答えていきたいと思います。 正規化の位置付け 正規化は、データベース設計全般にかかわる基礎知識ですが、特に論理データモデリングの作業の中で必要になります。稿

    素早く正規形を見抜く実践テクニック(1/4) - @IT
  • [ThinkIT] 第3回:トランザクションの比較 (1/4) -at- 徹底比較!! PostgreSQL vs MySQL

    トランザクション機能をサポートしているのは、PostgreSQLMySQL+InnoDBエンジンであり、MySQL+MyISAMエンジンはトランザクション機能をサポートしていません。ここでのトランザクション機能とは、複数のテーブルやレコードに影響をおよぼす処理を1つの単位とみなし、この単位での処理結果を保証する機能を指します。 具体的には、BEGIN文にてトランザクションを開始していくつかの処理を行った後、処理を確定する場合はCOMMIT文、処理を取り消す場合はROLLBACK文を使用し、トランザクションを終了させるまでの処理です。 トランザクション分離レベルとは、複数のトランザクションが同時に実行された場合に、他のトランザクションからの影響がどのくらい分離するかのレベルを意味します。 ANSI/ISO SQL規格(SQL92)では4つの分離レベル(下記コラム参照)が定義されています。P

  • ZEKE HOME

    ZEKE CMS / コンテンツ管理システム ZEKE PICS / 待ち受け画面システム ZEKE SNS / SNS開発ミドルウェア ZEKE(ジーク)は、独立行政法人情報処理推進機構(IPA)の2004年度未踏ソフトウェア創造事業として支援を受けて開発された次世代アプリケーションプラットフォームです。 現在はプロトタイプとしてOSの最下層レイヤーであるデータベース層を開発中です。 最終的にはユビキタス環境に適合した新世代のオペレーションシステム(アプリケーションプラットフォーム)の構築を目指しています。 ZEKEは現在データベースレイヤーとして実装されています。 あらゆるOSの基はファイルシステムですが、ユビキタスサービスを提供する場合、これはデータベースがファイルシステムに相当する役割を担うと考えたからです。 とはいえデータベースそのものをゼロから開発するとコストもかかりますし

    nanakoso
    nanakoso 2006/03/31
    定義のいらないO/Rマッピング(動的?)