タグ

資料とデータベースに関するindicationのブックマーク (5)

  • データベースを遅くするための8つの方法

    はじめに Twitterのタイムラインを見ていたらバッチ系のプログラムで逐次コミットをやめて一括コミットにしたら爆速になったというのを見ました。当たり前でしょ、と思ったけど確かに知らなければ分からないよね、と思って主に初心者向けにRDBを扱うときの注意点をまとめてみました。 プログラミングテクニック的なところからテーブル設計くらいの範疇でDBチューニングとかは入ってないです。 自分の経験的にOracleをベースに書いていますが、他のRDBでも特に変わらないレベルの粒度だと思います。 大量の逐次コミットをする バッチアプリケーションでDBにデータをインサートすると言うのはかなり一般的な処理です。しかしデータ量が少ない時はともかく大量のインサートを逐次コミットで処理するとめちゃくちゃ遅くなります。数倍から十数倍遅くなることもあるので、10分程度のバッチが1時間越えに化けることもザラにあるので原

    データベースを遅くするための8つの方法
  • データのバージョン管理が可能な分散データベースNomsをさわってみる - Qiita

    はじめに データベースやデータのバージョン管理をしたいと思ったことはありませんか? データのバージョン管理が簡単にできれば、好きなタイミングのデータで分析したり、移行データを必要な各断面で管理したり、データが更新されたトレースを取ることもできるかもしれません。 そんなことが簡単にできればいいのになーと思っていたのですが、先日Tech Crunchの記事でGitの考え方を取り入れたNomsというデータベースを知りました。Googleで検索してみても日語の情報があまり出てこなかったため、(どんなものかいまいち分かっていないのですが)とりあえずインストールからさわってみるまでを書いておきます。 Git - attic-labs/noms TC - コンテンツ・アドレッサブルで多バージョン分散データベースNomsのAttic Labsが$8.1Mを調達 Nomsとは Gitの考え方を取り入れたデ

    データのバージョン管理が可能な分散データベースNomsをさわってみる - Qiita
  • 論理削除 Casual Talks #1 で「論理削除しない」という話をしました - moroのブログ

    互いの前職での先輩後輩である @kenchan と企画した論理削除 Casual Talks #1で、「論理削除しない」という話をしてきました。 話す内容が各話者で面白いほどかぶっていたのでなかなか大変でしたが、普段から言っている「論理削除するな」「削除じゃないからちゃんと機能を設計しましょう」という内容を話してきました。 他の方の話も、かぶっているようで新しい視点もあって、いち参加者としてもたいへん勉強になりました。

    論理削除 Casual Talks #1 で「論理削除しない」という話をしました - moroのブログ
    indication
    indication 2015/09/01
    辞書にそろそろ乗っても良いのではないかという四字熟語、論理削除。
  • Oracle/MySQL/PostgreSQLにおけるサブクエリを含むDMLの非互換性 - SH2の日記

    JPOUG Advent Calendar 2013の23日目です。比較的簡単なDMLでもRDBMS間の非互換性が出てしまうという怖い話をします。 +----+------+ | id | data | +----+------+ | 1 | a | | 2 | b | | 3 | c | +----+------+BEGIN; -- IDが最も小さいレコードをロックする SELECT id, data FROM q WHERE id = (SELECT MIN(id) FROM q) FOR UPDATE; (何らかの処理) -- 処理が終わったので削除する DELETE FROM q WHERE id = (1つ目のSQLで取得したID); COMMIT;IDが最も小さいレコードをロックし、何らかの処理を行って、最後にそのレコードを削除します。IDが最も小さいレコードを取得するというの

    Oracle/MySQL/PostgreSQLにおけるサブクエリを含むDMLの非互換性 - SH2の日記
    indication
    indication 2013/12/23
    採番テーブルが採用されやすくなりそう(たぶん別の理由)
  • SQL ServerとOracleの一番大きな違い:ベンチャー社長で技術者で:エンジニアライフ

    株式会社ジーワンシステムの代表取締役。 新しいものを生み出して世の中をあっといわせたい。イノベーションってやつ起こせたらいいな。 ぶっちゃけて、SQL Serverも、Oracleも、フリーのPostgreSQLも、RDBMSとしての質的な性能差は当に小さい。そのためRDBMSのベンダーを選択するのは、バックアップとか、レプリケーションとか、クラスタリングなどの機能や関連ツールのできと、IDEとの相性などを検討するのが良いでしょう。 しかし、一般的にあまり検討の対象になってない部分が、実は一番大きな違いだったりします。わたしは、SQL ServerとOracleの差で、もっとも大きいのはストアドプログラム(プロシージャ・ファンクション)の書き方(構文)の違いだと思います。 単純なロジックはOracleの方が書きやすい。SQL ServerのIfなどのステートメントブロックにBEGIN

    SQL ServerとOracleの一番大きな違い:ベンチャー社長で技術者で:エンジニアライフ
  • 1