タグ

databaseに関するpiro_sukeのブックマーク (22)

  • 知られざる「マルチテナントアーキテクチャ」(3)~スキーマとメタデータの謎 - Publickey

    セールスフォースが採用しているマルチテナントアーキテクチャでは、すべてのユーザーが同一データベース、同一スキーマを共有しています。 では、個別に入力項目を増やすようなスキーマの変更を伴うアプリケーションのカスタマイズや、新たなテーブルを作成してそこに独自データを保存するようなアプリケーションの新規作成はできないのか? といえば、そんなことはなく、セールスフォースが提供するプラットフォームの上で、自由に項目の追加や新しいテーブルの作成が可能です。 全ユーザーでスキーマを共有しながら、しかし個別のカスタマイズを許容する。この一見矛盾する要件を、セールスフォースはどのように実現しているのでしょうか? (エントリは「知られざる『マルチテナントアーキテクチャ』(2)~スケーラビリティのカギは組織ID」からの続きです。) 公開されているスキーマを見てみる ユーザーがスキーマを変更したり、新規テーブル

    知られざる「マルチテナントアーキテクチャ」(3)~スキーマとメタデータの謎 - Publickey
  • LOAD DATA INFILEにはFILE権限 - kaishitaeiichiの日記

    MySQLで、ファイルをロードしようとすると、以下のエラーでうまくいかない。 mysql> LOAD DATA INFILE 'F:/Data/Eclipse/workspaces/MyApp/030-01 DbTestCase/sql/ mysql/testdb/person-data.txt' INTO TABLE testdb.person FIELDS TERMINATED BY '\t' ENCLOSED BY '\"' LINES TERMINATED BY '\r\n'; ERROR 1045 (28000): Access denied for user 'test'@'localhost' (using password: Y ES) おなじみの grant all on testdb.* to test@localhostでつくったtestユーザでは上記のエラーになって

    LOAD DATA INFILEにはFILE権限 - kaishitaeiichiの日記
  • Clojureの作者が作ったデータベースDatomicが凄い

    プログラミング言語Clojureの作者Rich Hickey氏率いるClojure HackerのチームがDatomic(デートミックと発音するらしい)というデータベースをリリースしました。これが何やらとてつもないです。10年先を行ってる技術じゃないでしょうか。 まだ番サービスは始まっていませんが開発環境用のライブラリが配布されています。 Datomicは斬新なアーキテクチャなので一言で説明するのはとても難しいです。 私が理解できたことを簡単に説明します。 2014/1/20追記 ライセンスモデル、サポートストレージ、サービスとしてではなく独立して使用する形になるなど記事作成時の内容から色々変更が合った部分を更新しました。 変更不可なAppend-onlyデータベース 従来のデータベースで、あるレコードを変更するというのはそのレコードに対応した場所があり、そこのデータを書き換えるというこ

  • 在庫DBにおける「正規化崩しの報い」 - 設計者の発言

    DBに含まれるテーブルを「マスターとトランザクション」、あるいは「リソースとイベント」に分ける管理方針は広く取り入れられている。加えて、それらの中間的な区分として「残高」を想定することで、モデルをより効果的に理解できるようになる。 ただし、「マスターかトランザクションか」や「リソースかイベントか」の区別も、「残高」の区別も、テーブル固有の属性ではない。あくまでも、「他のテーブルとの相対的な関係」において認識される「役割」のような概念である。 つまり、あるテーブルがたまたまイベントテーブルとみなされているとしても、別の文脈ではリソース的、あるいは在庫的なものとして扱われることもある。ある場面で「父親」である人物が、別の場面では「息子」になったり「叔父」になったりするのと同じ話だ。それをふまえたうえでの議論として理解してほしい。 さて、「残高テーブル」の大きな特徴は、多くの場合「正規化崩し」の

    在庫DBにおける「正規化崩しの報い」 - 設計者の発言
  • iOS/Androidにも対応した SQL Anywhere 12の魅力

  • [ThinkIT] 第3回:トランザクションの比較 (1/4) -at- 徹底比較!! PostgreSQL vs MySQL

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

  • NoSQLをRDBの代わりに使うと、どういう恐ろしいことが起こるか。PARTAKEの作者が語る

    データベースの世界でいま注目されているのがNoSQL。特にキーバリュー型データストアは、グーグルのBigTable、FacebookやTwitterが内部で利用しているCassandraやAmazonクラウドが提供しているSimpleDBなど、すでに実際に使われ始めています。 ではそのNoSQLをリレーショナルデータベースの代わりに使ってシステムを構築するとどうなるのか? 身をもって体験したことを記したShinya Kawanaka氏によるプレゼンテーション「間違った方向にCassandraを使ってみた」が公開されています。 NoSQLを用いたシステム構築は、リレーショナルデータベースによる構築どう違うのか? とても分かりやすくまとめられています。ご人の承諾もいただいたので、その内容を紹介しましょう。 NoSQLを使ったときに起こる恐ろしい事例 プレゼンテーションのテーマは「NoSQL

    NoSQLをRDBの代わりに使うと、どういう恐ろしいことが起こるか。PARTAKEの作者が語る
  • セールスフォース、クラウドデータベースの「Database.com」を発表

    印刷する メールで送る テキスト HTML 電子書籍 PDF ダウンロード テキスト 電子書籍 PDF クリップした記事をMyページから読むことができます 米Salesforce.comは12月7日(米国時間)、同社主催の年次イベント「Dreamforce '10」にて、データベースをクラウド化した「Database.com」を発表した。 Database.comは、これまで同社がSalesforce.comのクラウドサービスで活用していたデータベースを単独で提供するもの。米Salesforce.com テクノロジ担当エグゼクティブバイスプレジデントのSteve Fisher氏は「長年にわたってSalesforceが作り上げた信頼性と安全性を確保している」と語る。同氏は、「データベースはこれまでのあり方では通用しない。今やアプリケーションはさまざまなデバイスやプラットフォーム上で利用されて

    セールスフォース、クラウドデータベースの「Database.com」を発表
  • HBaseとはどんなNoSQLデータベースなのか? 日本語で読める情報を集めてみた

    Facebookが新しいサービス「Messages」の基盤として、NoSQLデータベースの「HBase」を選択したことを、先日の記事「Facebookが新サービスの基盤にしたのは、MySQLでもCassandraでもなく、HBaseだった」で紹介しました。 HBaseは、Facebookによると次のような特徴を備えていると説明されてます。 負荷に対して非常に高いスケーラビリティと性能を発揮 CassandraよりもシンプルなConsistency Model(一貫性モデル)を備えている 自動ロードバランス、フェイルオーバー、圧縮機能 サーバーごとに数十個のシャードを割り当て可能、などなど このHBaseはどのようなデータベースなのでしょうか? 情報を集めてみました。 HBase入門のプレゼンテーション 最初に紹介するのは「HBaseエバンジェリスト」Tatsuya Kawano氏のプレゼン

    HBaseとはどんなNoSQLデータベースなのか? 日本語で読める情報を集めてみた
  • 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
  • NoSQLとしてMySQLを使うDeNAが、memcachedよりも高速な75万クエリ/秒を実現

    モバゲーで知られるDeNAは、バックエンドデータベースにNoSQLを使っていません。なぜか? それはMySQL/InnoDB 5.1の環境で秒間75万クエリという、多くのNoSQLでも実現できないような高性能を実現しているから。DeNAの松信嘉範(まつのぶよしのり)氏は、自身のブログにこんな内容のエントリ「Using MySQL as a NoSQL - A story for exceeding 750,000 qps on a commodity server」(英語)をボストしています。 Yoshinori Matsunobu's blog: Using MySQL as a NoSQL - A story for exceeding 750,000 qps on a commodity server 松信氏が指摘するように、大規模なネットサービスを提供している企業の多くは分散環境で

    NoSQLとしてMySQLを使うDeNAが、memcachedよりも高速な75万クエリ/秒を実現
  • 大人のためのInnoDBテーブルとの正しい付き合い方。

    InnoDB関連でよくある質問のひとつに「テーブルのメンテナンスは何をすればいいんですか?」というものがある。InnoDBMySQL 5.5でデフォルトストレージエンジンとなるため、InnoDBのテーブルメンテナンス計画を立ようと思う機会も増えることだろう。そこで、今日はInnoDBのテーブルメンテナンスの各種方法となぜそうしなければいけないかという理由を解説しようと思う。 ANALYZE TABLEテーブルメンテナンスの代名詞といえば、インデックス統計情報の更新ではなかろうか。運用を続けるうちに、知らず知らずインデックス統計情報が狂ってしまい、思うような性能が出ない。RDBMSにはそのような問題がつきものであるが、InnoDBの場合、ANALYZE TABLEは不要である。なぜなら、InnoDBが自発的に統計情報を更新するからだ。InnoDBは以下の条件に適合すると、ANALYZE T

    大人のためのInnoDBテーブルとの正しい付き合い方。
  • Wikipedia が記事の履歴をどのように DB に格納してるか調べてみた - てっく煮ブログ

    Wikipedia は過去の編集履歴もサイト上から確認できるようになっているのだが、どのようなデータ構造で情報を保存しているのか気になって調べてみた。MediaWiki を見ればいいWikipedia のソースコードは MediaWiki として公開されているので、これのソースコードを見たり、試しに動かしたりして把握していった。MediaWiki は PHP で開発されている。今回は調査時点での最新バージョン 1.16.0 を利用して調査した。と思ったら MediaWiki に DB 構造が書いてある記事のデータやユーザー情報は全て DB(PostgreSQL or MySQL or SQLite) に保存されるようだ。手っ取り早く SQLite を使ってローカル環境で動かしてみて DB を覗いてみた。DB を眺めつつ、いろいろ調べてたら MediaWiki のサイト上にテーブル構造を示し

  • データベースパフォーマンスに関する、僕が知りうる限り最高の教科書 - レベルエンター山本大のブログ

    データベースの醍醐味は、パフォーマンスチューニングにあります。 チューニングによっては、同じ処理でも1時間掛かる場合もあれば、 1秒で終わるということもあり得る世界です。 僕はDBの魅力に取り付かれた者の一人です。 DBという技術の奥深さが気に入っています。 DBを極めると、どこの現場に行っても絶対に必要とされます。 また、どこの現場に行っても正解を導く方程式は一緒なので応用が利くのです。 しかし、その基原理を体系的に学べる手段はあまりありません。 OracleMasterやMCDBAといった資格試験でも学べることは限られていて あとはWebで調べるなりマニュアルを読むなりするしかありませんでした。 とくに肝であるパフォーマンスチューニングについては、 経験則でチューニングしている部分も多いです。 OracleSQLServer、MySQLと色々なDBのチューニングをしてきましたが、

    データベースパフォーマンスに関する、僕が知りうる限り最高の教科書 - レベルエンター山本大のブログ
  • gadfly: Python による SQL Relational Database 実装

    gadfly とは何か? gadfly はリレーショナルデータベースの機能を提供する Python モジュールの集合であり,全てが Python で記述されています.gadfly は 銀河系標準の RDBMS SQL (Standard Query Language) のサブセットを サポートしています. gadfly の最大の魅力は,Python が稼動するところならどこでも動かせる という点と,標準の Python socket インタフェースをサポートする プラットフォーム上であれば,どこでもクライアント/サーバ動作をサポート しているという点です. gadfly がストレージに用いるファイルフォーマット ですら,クロスプラットフォームです --- つまり, gadfly データベースの ディレクトリは,バイナリをコピーする機構によって Win95 システムから Linux シス

  • Index of /jawiki/

    ../ 20240401/ 20-May-2024 09:28 - 20240420/ 20-Jun-2024 09:27 - 20240501/ 01-Jul-2024 09:29 - 20240601/ 20-Jul-2024 09:31 - 20240620/ 01-Aug-2024 09:28 - 20240701/ 05-Jul-2024 15:01 - 20240720/ 23-Jul-2024 12:05 - 20240801/ 17-Aug-2024 12:35 - latest/ 17-Aug-2024 12:35 -

  • 漢(オトコ)のコンピュータ道: MySQLを高速化する10の方法

    ちょっとキャッチ−なタイトルをつけてしまったが、今日は独断と偏見でMySQLを高速化する方法を10個紹介しよう。MySQLサーバをチューニングするときや初期導入する場合などに参考にしてもらいたい。 1. バッファを増やす、または減らす チューニングの基中の基であるが、適切なバッファサイズを設定することはパフォーマンスチューニングの要である。主なバッファは次の通り。 innodb_buffer_pool_size・・・InnoDBだけを利用する場合は空きメモリの7〜8割程度を割り当てる最も重要なバッファである。余談だが、実際にはここで割り当てた値の5〜10%ぐらいを多めにメモリを使うので注意が必要だ。 key_buffer_size・・・MyISAMだけを利用する場合は、空きメモリの3割程度を割り当てるといい。残りはファイルシステムのキャッシュ用に残しておこう。 sort_buffer_

    漢(オトコ)のコンピュータ道: MySQLを高速化する10の方法
  • Camelot – Trac

    Camelot A python GUI framework on top of Elixir / Sqlalchemy inspired by the Django admin interface. Start building applications at warp speed, simply by adding some additional information to you Elixir model as demonstrated here source:trunk/example/model.py. Development targets : Responsiveness : applications build with Camelot should be able to handle large datasets The framework should care of

  • VFront - Front-end MySQL & PostgreSQL

    What is VFront VFront is a free, open source front-end for MySQL or PostgreSQL databases written in PHP and Javascript. With VFront you can create forms for manage your data in AJAX style, different rules and privileges for groups, report in XML,HTML,PDF,statistics and much more. VFront is released under GPL license (version 2.0). To whom and what VFront is useful VFront is useful for companies,br

  • あるスキーマのテーブルと列名を全部知りたい

    <IT技術の処方箋:あるスキーマのテーブルと列名を全部知りたい> あるスキーマのテーブルと列名を知りたい場合がありますね。 オラクルは、テーブル(オブジェクト)一覧や 列名一覧のテーブルはもっています。 ・オブジェクト一覧のテーブル ALL_OBJECTS ・列名(カラム)の一覧 all_tab_columns ●例えば、xxxというユーザー(スキーマ)の テーブルと列名の一覧は以下のとおりです。 ※object_type='TABLE'がミソ select table_name, column_name, owner from all_tab_columns where owner ='xxx' and table_name in (select OBJECT_NAME from ALL_OBJECTS where OWNER='xxx' and OBJECT_TYPE='TABLE'