タグ

DBに関するyuuki_79のブックマーク (9)

  • redisにレプリケーションを設定する - Qiita

    他の入れ方すると違う場所にあったりredis-server起動時にパス指定したりするので、それらの方法に従った場所のredis.confを開きます。 ここを書き換える ################################# REPLICATION ################################# # Master-Slave replication. Use slaveof to make a Redis instance a copy of # another Redis server. Note that the configuration is local to the slave # so for example it is possible to configure the slave to save the DB with a # differen

    redisにレプリケーションを設定する - Qiita
  • MySQLの複合INDEX - 憂鬱なプログラマの形而上学

    MySQLMySQLの複合インデックスについて。MySQLを使いこなしている人には常識の範疇にはいる知識だと思うのですが、かつての私のように、知らないとドツボにはまるので、ここにまとめておきます。タイトルでどういう内容か、もしかしたら大体、想像がつくかなと思うのですが、MySQLは1つのクエリーで1つのテーブルに対し、1つのインデックスしか機能しないということです。ようするに、あるテーブルに対して、普通に大量のインデックスを張ってもあまり意味がありません。そこで、今回は、最適な複合インデックスはどのようにしてはることができるか考えていこうじゃないか、という趣旨で書いていきたいと思います。まずは分析。テスト環境でインデックスが使われていないSQLを集めるまずは、/etc/my.cnfのパラメータを以下のように設定し、インデックスが使われていないSQLをスロークエリーに吐き出します。 slow

  • SQL脳に優しいMongoDBクエリー入門 - taka512's blog

    mongoコマンドから接続した際にオールドタイプ(SQL脳)たる我々人類にも 調べやすい形でinsert、select、updateを行う方法を調べました。 定義参照 // use [データベース名] use [データベース名] // show databases show dbs // show tables show collections参照系 // select * from [コレクション名] db.[コレクション名].find() // select * from [コレクション名] where x=4 db.[コレクション名].find({x:4}) // select j from [コレクション名] where x=4 db.[コレクション名].find({x:4}, {j:1}) // select * from [コレクション名] limit 1 db.[コレクション

    SQL脳に優しいMongoDBクエリー入門 - taka512's blog
  • iBATISのORMとSpringのAOPを活用したDBアクセス

    連載第2回の「Hello World!で理解する、Webアプリ開発の分業化」では、TERASOLUNA Server Framework for Java Web版(以下、TERASOLUNAフレームワーク)を使って、Hello Worldを出力する簡単なアプリケーションを作成しました。

    iBATISのORMとSpringのAOPを活用したDBアクセス
    yuuki_79
    yuuki_79 2011/03/22
    [O/Rマッピング]
  • http://www.res-system.com/weblog/item/550

  • 第2回 トランザクションを知ればデータベースがわかる―「データ復旧」「同時実行制御」を行う“不完全な”しくみ(1) | gihyo.jp

    開始コマンドがDBMSによってバラバラなのは、標準SQLで明確に決まっていないためです。中にはOracleDB2のように、データベースへ接続したら自動的にトランザクションが始まることになっているため、開始コマンドのないDBMSもあります。確かに、最初に暗黙に開始されれば、そのあとは終了文だけあれば区切りはわかる(終了文が次のトランザクションの開始文も兼ねる)ので、合理的といえば合理的です。 構造的な単位としてのトランザクション 一方でDBMSの側から見ると、トランザクションは2つの重要な機能に関係しています。それが、「⁠データの復旧」と「同時実行制御」です。まずは、前者から見ていきましょう。 トランザクションは復旧の単位 障害発生前に終了したトランザクション データベースに限らず、システムというのは使い続けていればどこかのタイミングで障害に見舞われます。なるべく障害に遭遇しない堅固なシス

    第2回 トランザクションを知ればデータベースがわかる―「データ復旧」「同時実行制御」を行う“不完全な”しくみ(1) | gihyo.jp
  • MySQLでINSERT直後にauto_incrementカラムの値を取得する方法 - たこはちの「へのかっぱ」日記

    最近、JavaMySQLに格闘している。 AUTO_NUMBERは、MySQLではauto_incrementと呼ばれる。auto_incrementのカラムが設定されたテーブルにINSERTするとそのレコードにインクリメントされた値を勝手に設定してくれる。だが、インクリメントされた値をアプリ側でオブジェクトに反映させる方法がどうもすっきりしない。基は、INSERTした直後になんらかの方法で追加したばかりのレコードを再検索(SELECT)すればいいのだが、そもそもauto_incrementのカラムはPrimary keyに設定していたりするので、再検索も難しい場合がある。SELECT LAST_INSERT_ID()という方法があることが分かったので、メモしておく。 以下の感じでauto_incrementカラムのあるテーブルが定義されているとする。 create table DUM

    MySQLでINSERT直後にauto_incrementカラムの値を取得する方法 - たこはちの「へのかっぱ」日記
  • 限界までMySQLを使い尽くす!!

    どこまで出来るか?!やれるところまでやってやるぜ!!と、威勢が良いのは若い間だけの話。オトナのオトコは、攻めるときはとことん攻めるが自らの限界もわきまえて賢く振る舞うのがスマートってものである。というわけで、今日はMySQLのいろいろな限界についてまとめてみる。皆さんも是非MySQLの限界を知り、MySQLをもっとスマートに使って頂きたい。 SQL文の最大長 MySQLサーバーが実行出来るSQL文の最大長は、max_allowed_packetシステム変数で表される。max_allowed_packetの最大値は1GBである。max_allowed_packetの値はセッションごとにも設定可能なので、デフォルトではそこそこの値(16MBなど)に設定しておいて、必要に応じて大きな対を使うと良いだろう。 データベースの個数 データベースオブジェクトの個数に制限はない。データベースオブジェクトは

    限界までMySQLを使い尽くす!!
  • データモデリングと正規化

    データモデリングについて データモデリングとは,実世界におけるモノ(事象)とデータベース設計とを結びつけるための方法論です。しかし,現実の世界は,データベース的(数学論理的)姿をとっていません。 データモデルに関しては,ANSIとかSPARCなどの規格によって様々な考え方がありますが,大きく分けて,DBMS非依存の「概念データモデル」,DBMS依存の「論理データモデル」,そしてデータベースそのものの内部構造を指す「物理データモデル」の3つの区分に分かれます。 概念データモデル 企業情報をモデル化(抽象化)して,実装とは独立の概念データモデルを作成します。業務の論理的かつ正規化されたデータモデルで,DBMSに依存しません。 論理データモデル DBMSの特性を加味して作成され,DBMS大きく依存したデータモデルです。なお,論理データモデルはデータ構造,データ操作,整合性維持の3つで構成されます

    yuuki_79
    yuuki_79 2008/11/26
  • 1