[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

タグ

dbに関するnitoyonのブックマーク (49)

  • 個人開発のコストはDB次第 - laiso

    個人でWebサービスを継続的に運用するのは金がかかってかなわんという問題がある 「個人開発」だと定義が曖昧なので自己資金かつ赤字のプロジェクト(Webサービス)ということにする。 そういうプロジェクトではプロダクトオーナー=自分、開発者=自分、予算管理者=自分というロールになるので予算管理者としてコストを図る必要がある(ここでいうコストはWebサービスを実現するアプリケーションのランニングコストのこと)。 通常はみんな自分の人件費を0として計算していると思う(逆にいうとそれが負債という考え方もできると思う)。 ただしメンテナンス時間とコストのトレードオフもあるので、人件費0ではあるけど有限の時間は別軸として管理しているのが普通だと思う。極端な例だと「コスト削減できるけどメンテナンス時間10倍になる」というのは避けられる。 仮に個人開発プロジェクトの予算を月数千円から高くても1万円ぐらいか

    個人開発のコストはDB次第 - laiso
    nitoyon
    nitoyon 2022/05/05
  • リレーショナルデータベースの仕組み (1/3) | POSTD

    リレーショナルデータベースが話題に挙がるとき、私は何かが足りないと思わずにはいられません。データベースはあらゆるところで使われており、その種類も、小規模で便利なSQLiteからパワフルなTeradataまで様々です。しかし、それがどういう仕組みで機能しているかを説明したものとなると、その数はごくわずかではないでしょうか。例えば「リレーショナルデータベース 仕組み」などで検索してみてください。ヒット数の少なさを実感できると思います。さらにそれらの記事は短いものがほとんどです。逆に、近年流行している技術(ビッグデータ、NoSQLJavaScriptなど)を検索した場合、それらの機能を詳しく説明した記事はたくさん見つかると思います。 リレーショナルデータベースは、もはや大学の授業や研究論文、専門書などでしか扱われないような古くて退屈な技術なのでしょうか? 私は開発者として、理解していないものを

    リレーショナルデータベースの仕組み (1/3) | POSTD
    nitoyon
    nitoyon 2018/08/19
  • Clojureの作者が作ったデータベースDatomicが凄い

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

    nitoyon
    nitoyon 2012/03/09
    DB は追記のみ、クライアントのインデックスを DB 側から常時更新、クエリはローカルで完結。memcached 不要になるし、何度も SELECT するような富豪コードが書けるようになりそう。
  • Visual Studioで作る単体テスト、外部環境の利用方法

    連載では、Visual Studioの単体テスト機能にフォーカスし、開発者の利用シーンをキーワードにいくつかのシナリオを想定して、その時々の使い方を取り扱っていきます。今回は、データベース接続を伴う単体テストとASP.NET環境を利用した単体テストを行う方法について紹介します。 はじめに 単体テストを作成する場合に最も簡単にテストを作成できるのは、テスト対象メソッドの中だけで必要な全ての処理を行って戻り値を得られるようなメソッドを扱う場合です。.NET Frameworkで標準的に用意されているライブラリ以外を利用せず、外部のファイルやレジストリなどのリソースにアクセスせず、他プロセスやネットワーク越しのサービスなども利用せずというメソッドをテストするのであれば、非常に簡単にテストを作成して実行できます。 もう1つ、テストを実行する際に外部の環境に依存しないという点も、テストのしやすさに

    Visual Studioで作る単体テスト、外部環境の利用方法
    nitoyon
    nitoyon 2011/10/27
    VS2010+SQL Server で DB、ASP.NET の単体テストを実施する方法。DBではファイルアタッチデータベースを使う。
  • なぜTwitterは低遅延のままスケールできたのか 秒間120万つぶやきを処理、Twitterシステムの“今” − @IT

    ユーザー同士のつながりを元に時系列に140文字のメッセージを20個ほど表示する――。Twitterのサービスは、文字にしてしまうと実にシンプルだが、背後には非常に大きな技術的チャレンジが横たわっている。つぶやき数は月間10億件を突破、Twitterを流れるメッセージ数は秒間120万にも達し、ユーザー同士のつながりを表すソーシャル・グラフですらメモリに載る量を超えている。途方もないスケールのデータをつないでいるにも関わらず、0.1秒以下でWebページの表示を完了させなければならない。そのために各データストレージは1~5ms程度で応答しなければならない。 Twitterのリスト機能の実装でプロジェクトリーダーを務めたこともあるNick Kallen氏が来日し、2010年4月19日から2日間の予定で開催中の「QCon Tokyo 2010」で基調講演を行った。「Data Architecture

    nitoyon
    nitoyon 2010/04/20
    秒間700(ピーク時2000)のつぶやきをメール配送風の fan-out で平均600人に送付。
  • ISO/IEC 5218 - Wikipedia

    This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages) This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed. Find sources: "ISO/IEC 5218" – news · newspapers · books · schol

    nitoyon
    nitoyon 2010/04/14
    性別コード。ISO 5218。0: not known, 1: male, 2: femail, 9: not applicable。
  • PostgreSQL安定運用のコツ2009 @hbstudy#5

    2. アジェンダ • パフォーマンスと初期設定 • データベースの監視 • 性能劣化とメンテナンス • パフォーマンスチューニング(GUC編) • パフォーマンスチューニング(SQL編) • バックアップ&リカバリ 日の資料は http://slideshare.net/uptimejp にアップしてあります。 Copyright 2009 Uptime Technologies LLC, All rights reserved. 4. PostgreSQLプロセス構造 • PostgreSQL 8.4の場合 [snaga@devpg01 ~]$ ps -aef | cat | grep ^snaga snaga 5282 1 0 20:15 tty1 00:00:00 /usr/local/pgsql/bin/postgres - D ./pgdata snaga 5283 5282

    PostgreSQL安定運用のコツ2009 @hbstudy#5
    nitoyon
    nitoyon 2009/11/16
    PostgreSQL のアーキテクチャ、初期設定、監視、メンテナンス(VACUUM、REINDX)。
  • Google App Engine入門:Entity Groupとトランザクション処理

    今週に入ってから、ようやく少し気でGoogle App Engineでプログラムを書き始めている私だが、ようやく Entity Group の使い方が分かって来たので簡単に解説してみる。 Entity Groupとは、一口で言えば「トランザクションを使ったアトミックな読み書きの対象となるEntity(=データベース上のオブジェクト)の集まり」である。 イメージとしては、まず「一つのハノイの塔を三人で同時に遊んでいる姿」を思い浮かべると分かりやすいかも知れない。全くのルールなしで皆で同時に遊ぼうとすると、腕が交錯してぐちゃぐちゃになってしまう。 そこで、「ある時点でハノイの塔ボード(三つの棒を支えている水平に置かれた板)に触ることが出来る人は常に一人。一度ボードに触った人はすべての円盤をいずれかの棒の位置に置いた状態にしてからしか手を離してはいけない。もし自分がハノイの塔に触りたい時に、す

    nitoyon
    nitoyon 2009/11/11
    GAEのEntity Groupの概念をハノイの塔で説明。
  • 「郵便番号データの落とし穴」に落ちてしまいました。 - 日記

    いま、仕事郵便番号のデータをデータベースのテーブルに登録するツールを作成している。登録するデータは日郵便のサイトからダウンロードしてきたファイル(いわゆるKEN_ALL.CSV)を使用している。最初は 毎月1回、自動でダウンロード 圧縮ファイルを解凍 システムが必要とする項目だけを抜き出して別のCSVファイルに落としシェルか何かで適当にテーブルにインポートと思っていたが・・・。ダウンロードするのはいいが、ファイルのダウンロードが成功したか、途中で失敗したかどうやって判定したらいいのかわからない。md5のファイルなどが別途用意されていればいいが、当然、日郵便はそんな細かい仕事はやってくれない。 圧縮の形式がLZHはいかがなものか。zipじゃだめなの? データフォーマットがひどい。KEN_ALL.CSVのデータフォーマットのひどさについては、郵便番号データの落とし穴を参照なのだが、問題は

    nitoyon
    nitoyon 2009/05/18
    KEN_ALL.CSV のデータをアップデートするのが自動では困難である問題。
  • POCO C++ Libraries - Simplify C++ Development

    The POCO C++ Libraries are powerful cross-platform open-source C++ libraries for building network- and internet-based applications that run on desktop, server, mobile, IoT, and embedded systems. Latest Release: 1.13.3 [Changelog] Get Started! The POCO C++ Libraries have been trusted by C++ developers worldwide for 19+ years to build challenging and mission-critical applications in a wide variety o

    POCO C++ Libraries - Simplify C++ Development
    nitoyon
    nitoyon 2009/05/10
    マルチスレッド、ログ、SSL、ネットワーク処理(HTTP・FTP・SMTP)、XMLパーサ、ZIP、DB、正規表現 などを扱える C++ ライブラリ。Boost Software License。
  • 30万件のデータから「値が 20 〜 25 の値の間のものをとってこい」とかが0ミリ秒とかでとってこれちゃう【ちょっぱやキーバーリューストア】作ったよ!

    今回つくったActionScript3用「KeyValueStore」は 30万件のデータからのサーチでも、結果を約0ミリ秒でとってくることができます。 オブジェクト(DisplayObjectとかなんでも)をキーにして値を管理 「ある値からある値の間のオブジェクト」とか「ある値のオブジェクト」などの参照系処理が高速にできる 更新系処理もそこそこ高速 一度に1万件くらいの挿入であれば結構一瞬 データ件数が多くなってもパフォーマンスがほとんど落ちない のような特徴があります。 テスト結果 テストしたのは、 データ件数 300000件 値 0〜30000のランダムな値 を登録した状態でのテストです。 挿入に関しては30万件挿入だとさすがに、かなり時間がかかってしまうので、 実際に大量にデータ挿入を行う時は、5000〜10000件程度づつ分割して挿入していくと良いと思います。 値が20〜30の間

    30万件のデータから「値が 20 〜 25 の値の間のものをとってこい」とかが0ミリ秒とかでとってこれちゃう【ちょっぱやキーバーリューストア】作ったよ!
    nitoyon
    nitoyon 2009/03/21
    AS3 版の KeyValueStore。数字をキーにオブジェクトを格納。内部的にはバイナリサーチ。
  • HowFriendFeedUsesMySqlToStoreSchemaLessData - FriendFeed では MySQL を使いどのようにスキーマレスのデータを保存しているのか

    HowFriendFeedUsesMySqlToStoreSchemaLessData - FriendFeed では MySQL を使いどのようにスキーマレスのデータを保存しているのか 目次 この記事について FriendFeed? では MySQL を使いどのようにスキーマレスのデータを保存しているのか 背景 概観 詳細 一貫性と原子性 性能 FriendFeed? では MySQL を使いどのようにスキーマレスのデータを保存しているのか この記事について "How FriendFeed? uses MySQL to store schema-less data" の日語訳です http://bret.appspot.com/entry/how-friendfeed-uses-mysql CC 2.5 でライセンスされています: http://creativecommons.org/

    nitoyon
    nitoyon 2009/03/02
    MySQLをスキーマレスなストレージとして利用。シリアライズしたデータをそのままentitiesテーブルに突っ込む。インデックスはテーブルで管理。
  • blog.katsuma.tv

    greeさんで開催されたKey Value Store勉強会に行ってきました。 時間にして4時間超え、内容も国内のKey-Value Storeなソフトウェアの最前線の話ばかりで相当なボリューム。以下、メモってたのを残しておきたいと思います。(誤字、脱字、内容に誤りを含むものなどありましたらお伝えください)また、発表者の方やプロダクトについて、ざっくり調べてURL見つけられたものについてはリンク張っています。 森さん / 末永さん   groonga Sennaの後継エンジン 融通が効かないのがSennaのデメリット スコア算出式のカスタマイズなど Sennaの転置索引 索引の構成部品を自由に組み合わせて使える APIもいろいろ QL DB Low Level memcached互換のkey-value store バイナリのみ対応 計測 クライアント memstorm-0.6.8 mem

    nitoyon
    nitoyon 2009/02/21
    濃い。groonga、LuxIO、TokyoCabinet・TokyoTyrant、memcached、repcached、kumofs、Overlay Weaver、Dynamo、Cagra、ROMA、Flare。
  • 漢(オトコ)のコンピュータ道: MySQLを高速化する10の方法

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

    漢(オトコ)のコンピュータ道: MySQLを高速化する10の方法
    nitoyon
    nitoyon 2009/02/18
    バッファ・ストレージエンジン・ファイルシステムを調整、高速なディスクを使う、クエリ・テーブルを最適化、レプリケーション・コネクションプールを使う、ストアドプログラムを控える、ベンチマークしろ
  • IDEA * IDEA

    ドットインストール代表のライフハックブログ

    IDEA * IDEA
    nitoyon
    nitoyon 2009/01/25
    ER図からCREATE文を作成。
  • インデックスの基礎知識

    ■ インデックスとは データベースの世界で、インデックス(索引)とはテーブルに格納されているデータを 高速に取り出す為の仕組みを意味します。 インデックスを適切に使用することによってSQL文の応答時間が劇的に改善 される可能性があります。 インデックスにはB-Treeインデックスをはじめ、ビットマップインデックス、 関数インデックスなどの種類がありますが、ここでは最も一般的に使われ、かつ ほとんどのDBMSでサポートされているB-Treeインデックスについて解説します。 ※ CREATE INDEX文でオプションを指定しない場合は通常B-Treeインデックスが 作成されます。 ■ B-Treeインデックスのしくみ B-Tree(Balanced Tree)インデックスは次のようなツリー状の構造になっています。 ツリーの先頭はヘッダブロックと呼ばれています。ヘッダブロックでは、キー値の 範囲

    nitoyon
    nitoyon 2008/12/27
    インデックスのデータ構造・アルゴリズムを解説。インデックスを設定して高速化するときのヒントが沢山。
  • リレーショナル・データベースの世界

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

    nitoyon
    nitoyon 2008/12/23
    SQLを一歩上達するための文章。
  • RDBMSの時代の終わりが見えてきた - きしだのはてな

    クラウドと一緒にやってきたもの 最近、クラウドが流行ってます。 GoogleMapResuceから始まって、MicrosoftのAzureまで、大手のクラウド製品が出揃った感じ。 で、そこで、こんなクラウド製品が出ましたというときに、必ずといっていいほどそのクラウド用のデータベースの説明があります。そして、それはRDBMSではありません。 GoogleだとBigTable、MicrosoftだとSQL Data Services、あとはAmazonSimpleDB。どれも、基的にはひとつのテーブルにハッシュコードでアクセスするようになっています。 ほかのクラウド製品も、Oracle Coherenceだったり、楽天のRomaだったり、非RDBMSのデータストレージを提供します。 クラウドというわけではないけど、mixiのTokyo TyrantやApache CouchDBも、RDB

    RDBMSの時代の終わりが見えてきた - きしだのはてな
    nitoyon
    nitoyon 2008/12/12
    RDBMS->Cloudの流れ。ORマッパがあればシームレスに移行できるんじゃね、と。
  • 「はてな流大規模データ処理」を見てきた - もぎゃろぐ

    KOF2008:関西オープンソース2008というイベントに来ています。 はてなの伊藤さんの講演があったので、講演メモを公開。 #ボクがメモした内容であって、100%言ったとおりに書いてあるわけじゃないので、参考としてご覧ください。 (続き) アジェンダ 大規模なデータ OSのキャッシュ MySQLの運用 大規模データアプリケーションの開発 データの例 はてなブックマークのデータ量:五千万件くらいのデータ量 このデータに対して何百万人がアクセスしてくる状況でどういう作りにするか レコード数 1073万エントリー 3134万エントリー 4143万タグ データサイズ エントリー2.5GB 何の工夫もなく普通にアクセスすると...200秒待っても結果が帰ってこない 大規模データの難しいところ 開発サーバで開発者が作っている時は快適に動いていても、多数の人間がアク

    nitoyon
    nitoyon 2008/11/11
    はてなの負荷分散のお話。 → 資料公開された! http://d.hatena.ne.jp/naoya/20081111/1226395400
  • Rubyist Magazine -RubyOnRails を使ってみる -第3回 ActiveRecord

    『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、日 Ruby の会の有志による Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号 Rubyist Magazine 0058 号 バックナンバー Rubyist Magazine 0058 号 RubyKaigi 2018 直前特集号 Rubyist Magazine 0057 号 RubyKaigi 2017 直前特集号 Rubyist Magazine 0056 号 Rubyist Magazine 0055 号 Rubyist Magazine 0054 号 東京 Ruby 会議 11 直

    nitoyon
    nitoyon 2008/11/09
    AcitveRecordを単体で使う方法、内部構造の解説。