dbに関するmkouheiのブックマーク (39)

  • InfoQ: グラフデータベース、NOSQL、Neo4j

    原文(投稿日:2010/05/12)へのリンク はじめに データモデルにはいろいろあるが、80年代以降、主流になっているのはリレーショナルモデルだ。このモデルにはOracleMySQL、MSSQLなどの実装があり、RDBMS(リレーショナルデータベース管理システム: Relational Database Management System)と呼ばれることもある。しかし最近になって、リレーショナルデータベースを使うことで問題が起こるケースが増えている。リレーショナルモデルによるデータモデリングには弱点と問題があり、複数サーバに及ぶ水平方向のスケーラビリティと膨大なデータの扱いに制約があるためだ。これらの問題の要因には、世界中のソフトウェアコミュニティが注目している2つのトレンドがある。 ユーザ、システム、センサーによって生み出されるデータの指数的な増加。AmazonGoogle、その他

    InfoQ: グラフデータベース、NOSQL、Neo4j
    mkouhei
    mkouhei 2011/02/07
  • NoSQLの成功は1:10問題にかかっている:Kenn's Clairvoyance

    ここ2-3年ほど、いわゆる非SQL系データベースがホットな話題になってきています。このムーブメントを総称して「NoSQL (Not-only SQL)」と呼ばれることが多いようです。まるでSQLを否定しているかのような誤解を招きやすい用語ですが、かといってキー・バリュー型データストアや列指向DBを総称できる他の呼び方もないので、このエントリではNoSQLという用語を使うことにします。 OracleMySQLなどのSQLデータベースが成熟していく一方で、SQLデータベースを特徴づける弱点である柔軟性のなさ、堅牢さと引き換えに犠牲になった更新性能の低さ、スケールアウトの難しさなどから、「何でもかんでもRDB」から「目的に応じた永続化」が模索される流れになってきました。 時を同じくして、キャッシュサーバの世界でも、MemcachedのもつシンプルなAPIの使いやすさが評価される一方、LRUによ

    NoSQLの成功は1:10問題にかかっている:Kenn's Clairvoyance
    mkouhei
    mkouhei 2010/10/26
  • Oracle Call Interfaceプログラマーズ・ガイド 10gリリース2(10.2) - 目次

    ヘッダーをスキップ Oracle Call Interfaceプログラマーズ・ガイド 10gリリース2(10.2) B19246-02 索引 次へ 目次 タイトルおよび著作権情報 はじめに 対象読者 ドキュメントのアクセシビリティについて 関連ドキュメント 表記規則 サポートおよびサービス Oracle Call Interfaceの新機能 Oracle Call Interfaceリリース10.2の新機能 Oracle Call Interfaceリリース10.1の新機能 1 概要およびアップグレード OCIの概要 OCIの利点 OCIアプリケーションの構築 OCIの分類 手続き型および非手続き型要素 オブジェクトのサポート SQL文 データ定義言語 制御文 データ操作言語 問合せ PL/SQL 埋込みSQL OCI/SQLの特殊用語 カプセル化されたインタフェース ユーザー認証およびパ

  • Oracle Database Clientのインストール後の作業

  • OCIリレーショナル関数

    OCIAppCtxClearAll() 用途 アプリケーション・コンテキストのネームスペース内のすべての属性値情報を消去します。 構文 sword OCIAppCtxClearAll ( void *sesshndl, dvoid *nsptr, ub4 nsptrlen, OCIError *errhp, ub4 mode ; パラメータ sesshndl (IN/OUT) セッション・ハンドルのポインタです。 nsptr (IN) ネームスペース文字列(現在はCLIENTCONTEXTのみ)へのポインタです。 nsptrlen (IN) ネームスペース文字列の長さです。 mode (IN) モード(デフォルトはOCI_DEFAULT)です。 errhp (OUT) OCIErrorGet()に渡すことができるエラー・ハンドルです。 戻り値 エラー番号を戻します。 コメント これは、サー

  • Oracleのネットワーク設定

    Oracleデータアクセスにはいくつかの種類があります。今回は下記の2種類を紹介します。 SQL*Plus Oracle Call Interface (OCI) Oracleデータベースサイドではリスナーといわれるデーモンが立ち上がっていなければネットワーク接続できません。下の図を参考にしてください。全てのデータアクセスはリスナーを経由していることが解ります。 リスナーは次の様にして立ち上げます。リスナーに関してはメインページよりOracle9iの導入を参照してください。 <SQL*Plus> SQL*PlusはOracleとデータのやり取りを行うものです。SQL文を編集してNet Servicesに対して送受信します。具体的には実行するたびに問い合わせの条件となる値を変えたい場合や、実行時によって取り出す列名やソート処理に使いたい列名が変わる場合に有効な「置換変数」や問い合わせ

  • OCI (Oracle Call Interface) OracleデータベースのAPI

    OCIプログラムの処理の流れ OCI環境の作成 各ハンドルの割り当て サーバー接続とセッションの開始 SQL文の発行とデータの処理 セッションの終了とサーバー切断 ハンドルの解放 OCIアプリケーションのサンプル・ソースコードを次に示す。 #include <oci.h> #include <stdio.h> #include <string.h> void error_handler(sword ociret, dvoid *hndlp) { sb4 errcode; char buf[256]; switch (ociret) { case OCI_SUCCESS: break; case OCI_SUCCESS_WITH_INFO: printf("OCI_SUCCESS_WITH_INFO\n"); break; case OCI_NO_DATA: printf("OCI_NO_D

  • PHPでOracle Databaseを使う(導入編)

    はじめに 昨今PHPによるWebシステム開発は増加の一途をたどり、Javaと並ぶ大きな流れとして、さまざまなシステムで利用されるようになってきました。 稿では、Oracle DatabasePHPを組み合わせる上で最も基となる、導入方法について説明します。 PHPOracleを組み合わせる利点 PHPは、コンパイルなしで即時利用ができるインタプリタ/サーバーサイドスクリプト言語であり、テキストエディタでも開発が可能で、開発速度が速いのが特徴です。データベース・アクセスを初めとするさまざまな機能が利用でき、最新の技術を取り入れながら発展を続けています。また、パフォーマンスが良い点も挙げられます。 昨今のシステム開発のニーズとして、企業のビジネススタイルの変化に合わせたアイデアの即時具現化や要望への早期対応などが挙げられますが、PHPは追従できうる言語と認識されております。 Oracl

    PHPでOracle Databaseを使う(導入編)
    mkouhei
    mkouhei 2010/09/06
  • Twitterが分散フレームワーク「Gizzard」公開! Scalaで書かれたShardingを実現するミドルウェア

    Twitterが分散フレームワーク「Gizzard」公開! Scalaで書かれたShardingを実現するミドルウェア Twitterは独自に開発した分散フレームワークの「Gizzard」をオープンソースとして公開しました。GizzardはScalaで書かれたJavaVM上で動作するミドルウェアで、PHPRubyといったWebアプリケーションからの要求を自動的にデータベースに分散することで、大規模で可用性の高い分散データベースを容易に実現するためのものです。 Gizzard:フォルトトレラントな分散データベースを実現 The Twitter Engineering Blog: Introducing Gizzard, a framework for creating distributed datastores Twitterのブログにポストされた「Introducing Gizzard

    Twitterが分散フレームワーク「Gizzard」公開! Scalaで書かれたShardingを実現するミドルウェア
    mkouhei
    mkouhei 2010/04/08
  • MySQLの自動変換を丁重にお断りするためのたった1種類の呪文 - sakaikの日々雑感~(T)編

    先日の『これだけは覚えておきたい!!MySQL の6つの自動変換』 http://d.hatena.ne.jp/sakaik/20100225/mysqlautochange にはたくさんの反響をいただいた。 時にこちらの意図と違っちゃうこともあるけれどもケナゲに気を使ってくれる MySQL が、これほどに皆さんにも愛されていることが判り、MySQLファンの一人として嬉しい限りである。 さて、そのエントリの最後に、 なお、「SQLモード」を指定するとこれらの動作を変更することができる。SQLモードについては気が向いたらいつか紹介してみたい。 と書いたところ、速攻でキムラデービーの木村明治氏が補足エントリーを書いてくださった。 ○キムラデービーブログ [勝手に補足]これだけは覚えておきたい!!MySQL の6つの自動変換 http://blog.kimuradb.com/?eid=83851

    MySQLの自動変換を丁重にお断りするためのたった1種類の呪文 - sakaikの日々雑感~(T)編
    mkouhei
    mkouhei 2010/03/05
  • これだけは覚えておきたい!!MySQL の6つの自動変換 - sakaikの日々雑感~(T)編

    MySQLはとても気ぃつかい屋さんである。我々が投げる多少あいまいな指示も頑張って解釈し、なんとか文句を言わずに実行してみようと挑戦してみてくれる。 今日はそんなMySQLがケナゲに解釈してくれる自動変換について紹介しようと思う。この自動変換、ケナゲなMySQLの奥ゆかしさ故、出した指示と異なる動作をされたことに気がつかないことがある。ここで紹介する6つの自動変換をしっかり脳ミソにたたき込んでおけば、無用なトラブルにハマる時間も減るかもしれない。 1.[数値] 範囲外の数値は頭を押さえつけられる intやsmallint、bigintなどの数値型には、扱える範囲が決まっている。例えばint型なら最大21億ちょっとだ(unsignedの場合は43億弱)。これより大きい数字を登録するよう指示を出すとMySQLはどうするか。そう、頑張って入れられるところまで入れてくれるのである。「入れられるとこ

    これだけは覚えておきたい!!MySQL の6つの自動変換 - sakaikの日々雑感~(T)編
    mkouhei
    mkouhei 2010/03/02
  • MySQLに纏わる10の都市伝説

    誰の口から飛び出したのかは定かではないが、巷ではMySQLにまつわる様々な「都市伝説」がまことしやかに囁かれているようだ。恐らくMySQLに対する理解が低い人や、MySQLがあまり好きではない面々によってFUDっぽく言われているのだと思うが、世の中にはそのような「都市伝説」を真に受けてしまう人が居るのもまた事実であである。MySQLにおける昨今の開発スピードには目覚ましいものがあり、MySQLは性能・安定性・使い易さ共に進化し続けている。(特に先日リリースされたMySQL 5.5は性能・安定性・使い易さを両立している優れたバージョンだ!!)しかし「都市伝説」で語られることは総じて「MySQLはダメな子ちゃん」であるという烙印を押すものばかりであり、MySQLerとしてはそのような言われ無き汚名を全身全霊をもって晴らさなければならない使命を背負っている。そこで、今日はMySQLについて語られ

    MySQLに纏わる10の都市伝説
    mkouhei
    mkouhei 2009/12/18
  • 特定のデータベースだけをmysqldumpで作成したダンプファイルから抜き出すawkスクリプト

    タイトルのまんまのプチトリビアを紹介しようと思う。mysqlの--one-databaseオプションを使えば「mysqldumpで--all-databasesとか--databasesオプションを使って作成したダンプファイルに含まれる複数のデータベースから、一つのデータベースだけを選択してリストアする」という操作ができるけど、毎回ダンプファイル全体を読み込むのは無駄じゃないか?と思われることもあるだろう。だったら事前にダンプファイルを分けちゃいたい!と考えるのが人情というもの。そんなときはawkコマンドを使うといい。 #!/usr/bin/awk -f BEGIN { dump_current_db = 0; num_db = split(databases, db_arr, ",") for (i = 1; i <= num_db; i++) { db_arr[i] = "`" db_

    特定のデータベースだけをmysqldumpで作成したダンプファイルから抜き出すawkスクリプト
  • 実録、ほぼ無停止なMySQLのフェイルオーバ (動画もあるよ) - (ひ)メモ

    レプリケーションしてるMySQLで、マスタやスレーブが障害停止した場合のリカバリプラン でも掲げたゴールである、「マスタが落ちてもぐーすか寝ていられるようにしたい」がほぼできたので、ほとんどサービスが停止することなく、フェイルオーバする様をスクリーンキャストに収めました。 埋め込みプレイヤーだと、小さくてわからないと思うので、リンク直接でみてください。 http://www.irori.org/pub/mysql-mm.mov 登場するホスト 登場するホストは2台、db901db902です。 最初は、db901が更新系クエリを受けるプライマリでdb900の浮動IPアドレスを持っています。 画面分割 画面は5分割しています。 左上 = 「select sysdate(),@@server_id」をdb900に対して(sleep 1しながら)延々と実行しまくりんぐ 右上 = ping -n

    実録、ほぼ無停止なMySQLのフェイルオーバ (動画もあるよ) - (ひ)メモ
  • 「NoSQL」は「Not Only SQL」である、と定着するか?

    非リレーショナルモデルのデータベース全般を指す「NoSQL」という用語について議論が巻き起こっています。 グーグルのBigTableやアマゾンのSimpleDBなど、クラウドへの注目が高まると同時にキーバリュー型データストアにも関心が集まり、さらにHadoopなどの新しいソフトウェアも登場してきました。このPublickeyでも、一昨日、昨日と記事で紹介してきました。 データベースは目的別に使い分けるべし NoSQLデータベースを40種類以上リストアップ、キーバリュー型にもいろいろある こうした非リレーショナルなデータベースを指す一般的な名称が求められてきたときに登場したのが「NoSQL」という名前です。 なんとなく考案された「NoSQL」 「NoSQL」という用語を考案したとされるEric Evans氏は、この名称は特に何も考えずに適当に思いついた言葉だとブログに書いています。ブログ「E

    「NoSQL」は「Not Only SQL」である、と定着するか?
    mkouhei
    mkouhei 2009/11/12
  • NoSQLデータベースを40種類以上リストアップ、キーバリュー型にもいろいろある

    Webスケールのデータを扱うためにさまざまなデータベースが登場してきている、ということを昨日のエントリ「データベースは目的別に使い分けるべし」で紹介しました。 特にリレーショナルモデルをベースとしない、非SQL系(NoSQL)と呼ばれるさまざまな種類のデータベースが登場してきています。非SQL系のデータベースは以前からオブジェクトデータベースやドキュメントデータベース、階層型データベースなどが存在していましたが、最近注目されているのがキーバリュー型データストアと呼ばれるデータベース。 ブログ「High Scalability」にポストされたエントリ「A Yes for a NoSQL Taxonomy」では、これら非SQL系のデータベースを詳細に9分類し、それぞれの分類に属するデータベースをリストアップしています(基になったのは「NoSQL is a Horseless Carriage」

    NoSQLデータベースを40種類以上リストアップ、キーバリュー型にもいろいろある
  • データベースは目的別に使い分けるべし

    元マイクロソフトのSQL Server開発チームの一員であり、その後マイクロソフトのデータセンターのアーキテクトとして活躍。昨年アマゾンに移籍して、現在はAmazon Web Servicesの上級エンジニアであるJames Hamilton氏が、自身のブログの「One Size Does Not Fit All」というエントリで、リレーショナルデータベースだけにとどまらない幅広いデータベースの種類を4つに分類して紹介しています。 4つの種類とは「機能優先」「スケーラビリティ優先」「シンプル」「目的別」です。 Hamilton氏は、アマゾンがAmazonクラウドでMySQLのサービスを開始したところ、以前から提供していたキーバリュー型データストアの「SimpleDB」は終了するのではないかと心配する声があったことを挙げ、 I can understand why some might co

    データベースは目的別に使い分けるべし
  • 活発化するJavaScriptデータベース - 高パフォーマンスのJavaScriptDBが人気 | エンタープライズ | マイコミジャーナル

    Web Application Development - SitePen WebアプリケーションのクライアントサイドのみならずサーバサイドもJavaScriptで実装しようという試みがあり、サーバサイドJavaScriptの標準化作業が進められているなど、一定の支持を集めている。こうした試みのひとつに、データの永続化を実現するために従来のRDBMSではなく、JSONをやりとりするデータ形式としたWebアプリケーション向けのデータベース開発が進められており、実装自身もJavaScriptで実装されているものがある。そうした取り組みのひとつがPersevereだ。Dojo関連プロジェクトのひとつと位置づけられている。 Webアプリケーションに特化したデータベースは今にはじまったものではないが、そうしたデータベースとしては代表的なもののひとつであるApache CouchDBJavaScri

  • MySQLerのTwitterアカウントまとめ。

    松信氏の、 MyISAMとInnoDBのどちらを使うべきか Twitterで話題になってたので簡単にまとめました。 というエントリが人気を博しているが、松信氏が言うように最近はTwitterMySQL関連の話題も結構増えてきているように思う。Twitterの流行の勢いは凄まじく、今は右を向いても左を向いてもTwitter、寝ても覚めてもTwitterも杓子もTwitterという雰囲気である。従ってMySQLTwitterで盛り上がるのは当然の成り行きというもであるし、Twitterを活用しない手はない。 しかしMySQL関連の話で盛り上がると言っても「じゃあ誰をフォローすれば話に入れるんだよ?!」と多くの皆さんは疑問に思われることだろう。そこで、今日はMySQL関連のTwitterアカウントを独断と偏見と愛と勇気と努力をもって紹介する。MySQLの情報が欲しい人、もしくは話題の輪に

    MySQLerのTwitterアカウントまとめ。
    mkouhei
    mkouhei 2009/10/29
  • [速報]AmazonクラウドがMySQLサービス開始、パッチもバックアップもおまかせ

    Amazon Web Servicesがクラウド上でMySQLをホスティングする「Amazon Relational Database Service (Amazon RDS)」のβ公開を開始しました。 インストール不要でMySQLの利用を開始でき、パッチ当てやバックアップなどもAmazonクラウド側で実行してくれるため、MySQLの導入や運用の手間を大幅に削減可能です。 MySQLのインスタンスは規模に応じて5種類が用意されています。 Small DB Instance : (1時間あたり0.11ドル) 1.7 GB memory, 1 ECU (1 virtual core with 1 ECU), 64-bit platform Large DB Instance : (1時間あたり0.44ドル) 7.5 GB memory, 4 ECUs (2 virtual cores with

    [速報]AmazonクラウドがMySQLサービス開始、パッチもバックアップもおまかせ