タグ

DBに関するNilfsのブックマーク (15)

  • RDBでツリー構造を実現する | オートロ株式会社

    Tutorial Advent Calendar 22日目、エンジニアの吉野です。 先日、Rails でツリー構造に触れる機会があり、その際に初めて知ることが多くありました。今回はその際に得られた知見を共有させていただこうと思います。 ツリー構造って何?まず、ツリー構造(木構造)とはなんのことでしょうか? Wikipediaによると 木構造(きこうぞう)とは、グラフ理論の木の構造をしたデータ構造のこと。だそうです。下に示した組織図のように、ある要素から派生して階層構造が成り立っているものを、木が根から葉へと広がっていく様子になぞらえてツリー構造と呼んでいるわけですね。 身近なところでイメージしやすいのは、パソコンのフォルダで見られる階層構造もツリー構造にあたります。 RDB でツリー構造を実現する方法MySQL や PostgresQL といった、Web アプリケーション開発でよく用いられ

    RDBでツリー構造を実現する | オートロ株式会社
    Nilfs
    Nilfs 2023/02/13
    ツリー構造を実装するときに参考になる
  • 【PythonのORM】SQLAlchemyで基本的なSQLクエリまとめ - Qiita

    SQLAlchemy1.2の基的なクエリをまとめました! python初心者以上向けの記事です。 改めて読み返してみると、直した方が良さそうな箇所や、この機能書かないんかいってのがあるので修正予定です。 記述内容 ORMについて、動かしてみるところまで、select, limit, orderby, distinct, join, leftjoin, in, insert, update, delete, union, unionAll, sql吐き出し, sqlを直接実行について また、flask-sqlalchemyでは実行を試していません。 SQLAlchemyとは pythonORMモジュール。 session.query(User).all() このようにSQL操作ができる。 SQLをクラスとして扱えるようにしたもの。 使用する理由は、 ・SQLインジェクション対策がサポート

    【PythonのORM】SQLAlchemyで基本的なSQLクエリまとめ - Qiita
  • 月間10億PVから学んだMongoDBアンチパターン

    ZenClerkが月間10億PVを支えるまでの
 過程で経験したアンチパターンを紹介

    月間10億PVから学んだMongoDBアンチパターン
    Nilfs
    Nilfs 2014/11/13
    勉強になった。DBをどう分けるかはよく考えたい
  • Railsで複数のデータベースを使用する | TECHSCORE BLOG | TECHSCORE BLOG

    こんにちは、鈴木です。 Ruby on Rails で複数のデータベースを扱う方法をご紹介します。 establish_connection establish_connection はデータベースと接続するためのメソッドです。 通常は明示的に呼び出すことはありませんが、複数のデータベースを使用する場合は、以下のように明示的に呼び出す必要があります。 class User < ActiveRecord::Base establish_connection :adapter => 'postgresql', :encoding => 'unicode', :database => 'other_database', :pool => '5', :username => 'USERNAME', :password => 'PASSWORD', :host => 'localhost' end

    Nilfs
    Nilfs 2013/04/13
    複数のデータベースを切り替えて使えるようにする方法
  • Cassandra、MongoDB、Redisなど主要NoSQL比較 | gihyo.jp

    ハンガリーの企業でCTOを務めるKristof Kovacs氏による記事です。各主要NoSQLプロダクトについて機能比較や利用ケースなどをまとめています。この記事ではCassandraやRedisなど6つのプロダクトを挙げています(表1⁠)⁠。 CouchDBは使い勝手に優れており、双方向レプリケーションやリアルタイム更新をサポートしています。Redisは非常に高速なことが売りで、トランザクションや変更監視の機能が備わっています。Cassandraは書き込みが読み込みよりも速いことから銀行や金融などのリアルタイムなデータ解析が必要になる分野で実力を発揮し、Cassandraと同じくJavaで作られているHBaseは億単位の行と数百万のカラムというBig Dataを扱え、月に1,000億を超えるメッセージを処理するFacebookのバックエンドに採用されています。 次々にプロダクトが生まれた

    Cassandra、MongoDB、Redisなど主要NoSQL比較 | gihyo.jp
  • EC2でOracleのバックアップサイトを構築しマルチサイト運用を実現する at nkjmkzk.net

    Virtualization, Operating System, Storage, Cloud Computing言わずもがな日に大きなインシデントがあり、ITシステムにもシステム構成に変化が起きようとしているのを感じます。マルチサイト運用の必要性です。 例えデータセンターであっても一カ所にデータ・システムを置いておくことへの危機感 地理的な事情によって停電・節電でシステムの継続運用が難しくなっている状況 長期的な影響が見込まれるなかで、サイトの移転を検討(移転先でも一カ所での運用は避けたい) システムをメインサイトからバックアップサイトへと軽やかに切り替えるような仕組みがあれば、と思います。しかし切り替えたいと思い立ってすぐに切り替えられるものではありません。物理的にどうやってもすぐには移せないのは大量のデータです。100TBのデータを夕方までにアメリカに移したい!と思っても時既に遅

  • ソーシャルゲームのためのデータベース設計

    2. 自己紹介  MySQL/Linux周りのスペシャリスト  2006年9月から2010年8月までMySQL家(MySQL/Sun/Oracle)で APAC/US圏のMySQLコンサルティングに従事  主な著書に「現場で使えるMySQL」「Linux-DBシステム構築/ 運用入門」「Javaデータアクセス実践講座」  DeNAでの主な役割  安定化/パフォーマンス/運用周りの中長期的な改善活動  L3サポート/運用/トラブルシューティング – 難度の高いMySQL周りの問題の根原因の特定と解決  多くのプロジェクト支援  社内勉強会/トレーニング – MySQLやデータベース周りのベストプラクティスを社内で共有し、 技術スキルを底上げする  技術マーケティング – 国内外のカンファレンスや、技術雑誌等

    ソーシャルゲームのためのデータベース設計
  • プログラム詳細(2日目: Community Day)

    【クロージング】ライトニングトーク FORCIA Spook - PostgreSQL inside □ 動画 PostgreSQL 周辺ツールのご紹介 □ 動画 アプリケーションエンジニアですが、精一杯 Postgres を使ってみました! □ 動画 BAPPによるサポートサイト構築事例 □ 動画 PostgreSQL における SQL/MED に準拠した表構造ファイルラッパの提案 □ 動画 Bucardo in 5 minutes □ 動画 時間 10:00~10:25(25 分) 概要 PostgreSQLは、古くから存在し、もっとも成功したオープンソースプロジェクトの 1 つです。 また、活発かつ全世界規模のコミュニティがあります。 そこでは、数千人の方々がメーリングリストやフォーラムで議論し、数百人の開発者がリリースごとにコードやパッチを提供し、 情報提供やサポートに必要とされる

    プログラム詳細(2日目: Community Day)
  • App Engine Recipe - Getting db.ReferenceProperty key without loading entity

    class Foo(db.Model): linked = db.ReferenceProperty() someFoo = Foo.get_by_id(1) # Assume we've got an entity with id = 1 # Get key of linked Foo without loading linked entity linkedFooKey = Foo.linked.get_value_for_datastore(someFoo) See discussion here: http://groups.google.com/group/google-appengine/msg/c970bb3636acfa51 Note a suggestion in the above discussion to use a metaclass for automa

    Nilfs
    Nilfs 2010/02/21
    db.ReferencePropertyを使ったときに参照先のエンティティを読み込まない方法
  • GAEで簡単な多対多的なモノ - When it’s ready.

    db.ReferenceProperty(db.Mode)を使って、テーブルを作る。 (http://ondras.zarovi.cz/sql/demo/) こんな感じに、テーブルを設計した。MySQL用のER図なので、フィールドの名前が違うけどなんとなくやりたい事は通じると思う。っていうか、ワカレ。 左のTableというテーブル内のid_Coreとid_Tagが、ReferencePropertyで定義されるFKとなる。 モデルは class Table(db.Model): ref_core = db.ReferenceProperty(Core) ref_tag = db.ReferenceProperty(Tag) create_at = db.DateTimeProperty(auto_now_add = True) と言う風に書いてみた。 やりたい事 文章(以下Core)と一緒

    GAEで簡単な多対多的なモノ - When it’s ready.
    Nilfs
    Nilfs 2010/02/21
    多対多をやるときに調べよう
  • Part4 初めてのデータベース設計

    一部の組み込み系システムを除けば,業務系システムはすべて何らかのデータベースを使っており,データベースを中核にしてシステムができあがっています。データベースを押さえることは,システムの中核を押さえることにほかなりません。したがって,データベースをどのような手順で,何に基づいて設計するのかを知っておくことは,システム構築に携わるすべての人にとって不可欠です。 Part4は,データベース設計の上流工程である概念設計と論理設計にフォーカスして説明します。こうした作業はデータ・モデリングと呼ばれます。業務要件定義を解きほぐして,システムの中核となるデータベースの論理構造を決定することが目的です。 データ・モデリングの重要性については,私たちが取り扱うビジネス・システム(業務システム)が,台帳中心のシステムであるということを考えれば明らかです。江戸時代などの時代劇を見ていると問屋の番頭が蔵の中で帳簿

    Part4 初めてのデータベース設計
  • トランザクションとエンティティグループ - スティルハウスの書庫の書庫

    Datastoreのトランザクション エンティティグループ単位でACIDを保証 Bigtableは行単位のACIDしか保証しない。Datastoreではエンティティグループ単位でのACIDを保証している 楽観的排他制御(optimistic lock)を実装 エンティティグループのrootエンティティにて、トランザクションの最終コミット時間のタイムスタンプを記録 トランザクションの開始時に同タイムスタンプを確認し、コミット時にタイムスタンプを再度確認する タイムスタンプが変化していなければ、更新内容を保存して、タイムスタンプを更新する タイムスタンプが変化してれば、他のトランザクションとの競合が発生しているので、トランザクションをロールバックする RDBの悲観的排他制御(SELECT FOR UPDATE)のようにエンティティをロックしないので、スループットは高いが、競合時のリトライが必要

    トランザクションとエンティティグループ - スティルハウスの書庫の書庫
    Nilfs
    Nilfs 2010/02/15
  • MySQLのパフォーマンスチューニング - モノノフ日記

    とある勉強会でSunのエンジニアの人のプレゼンを直接聞く機会があったのでメモったことを公開します。基的な事が多いんだろうけど、非常に参考になりました。 パフォーマンスとは スループット レスポンスタイム/レイテンシ スケーラビリティ 上記のコンビネーション アーキテクチャとは Connection Thread Pool Query Cache Parser SQLクエリをパース Optimizer Storage Engines アプリによって最適なエンジンを選択すべき サーバのコネクション&スレッド my.cnf max_connection (100) 多すぎるとメモリを消費しきる可能性あり thread_cache_size (8) スレッドをコネクションの切断後にもキャッシュしておく数 一般的には max_connections / 3 sort_buffer_size(2M)

    MySQLのパフォーマンスチューニング - モノノフ日記
  • RDBMSは死にましぇん - ねこかわいい

    RDBMSがクラウドコンピューティングに殺されるらしいです。 とくに組み込みDBから死ぬらしいです。 HDDはSSDにとってかわられるらしいです。 http://d.hatena.ne.jp/nowokay/20081212#1229071535 SSDに対しての反論と、組み込みDBが死ぬことに対しての反論。 RDBMSはサーバから死ぬらしいです。 http://d.hatena.ne.jp/kazuhooku/20081212/1229077256 どっちもびみょいとおもいます。一応、毎日ウェブアプリをごりごり書いており、なおかつORDBMSをばりばり利用している身として、気になる点をだらだらかくよ。 大規模システムはRDBMSからクラウドへ、それ以外はひきつづきRDBMSRDBMSの一番大きな問題点は、いまさらですがスケーラビリティです。このへんははてなとかmixiの技術ネタを読め

    RDBMSは死にましぇん - ねこかわいい
  • midoff.com

    This domain may be for sale!

    Nilfs
    Nilfs 2008/12/30
  • 1