タグ

dbに関するd_animal141のブックマーク (206)

  • Muuny Blue

    Exactly How to Make Use Of Airbnb Booking Airbnb is an internet site and also mobile app that matches people seeking a place to remain with property owners happy to rent their homes, apartments, castles, and also luxury yachts. The firm assists in the deal and also bills a service fee for every booking. The solution permits users to search… What Does an Accident Legal Representative Do? An acciden

  • RailsにおけるDB制約のワナ - ネットの海の片隅で

    DBに制約を張る このようなテーブルがあったとします。 CREATE TABLE products( id serial NOT NULL, code varchar NOT NULL, price integer NOT NULL CHECK (price > 0), CONSTRAINT pk_products PRIMARY KEY (id) ); 各カラムにNOT NULL制約 priceにCHECK制約 という2点を除けば、rails g migrationで作られるものと同じだと思います。 このテーブルにおいて、 ActiveRecord::Base.transaction do CSV.foreach(csv_path) do |row| code, price = row[0], row[1] Product.create!(code: code, price: price

    RailsにおけるDB制約のワナ - ネットの海の片隅で
  • Arelでクエリを書くのはやめた方が良い5つの理由

    はじめに:Arelって何? みなさん、Arel(アレル)ってご存知ですか? ArelはActive Recordの内部で使用されるSQL生成ライブラリです。 Railsのクエリの書き方をググると、ときどきArelを使った実装例が見つかるので、見たことがある、もしくは何度か使ったことがある、という人もいると思います。 Arelをよく知らない人のために、Arelの利用例をちょっと見てみましょう。 たとえば「コメント文中に、"ruby"が含まれるユーザープロフィールを検索したい」という場合、Rails標準のクエリインターフェースを使うと条件部分のSQLを文字列で書く必要があります。(PostgreSQL環境を想定) Profile.where( "profiles.comment ILIKE ?", "%ruby%" ).to_sql #=> SELECT "profiles".* # FROM

    Arelでクエリを書くのはやめた方が良い5つの理由
  • [SQL] 11. トランザクション 2

    SQL 11章 トランザクション 11.1. トランザクションの特性 11.2. コミットとロールバック 11.3. トランザクションの構文 11.4. 排他制御 11.5. ロック 11.6. トランザクションの定義 11.4. 排他制御 排他制御とは、あるトランザクションが実行中のときに、そのトランザクションが対象としているデータをロックし、他のトランザクションのアクセスを禁止することによって、データの整合性を確保しようとする仕組みです。トランザクションが完了すれば、ロックは解除され、他のトランザクションはデータにアクセスできるようになります。 例えば、あるお店の在庫管理テーブルに商品が 30個登録してあるとします。販売員 P さんが商品 A を 15個販売し、ほぼ同じ頃に販売員 Q さんが商品 A を 5個販売しました。このとき、二人の販売員が在庫管理テーブルのデータを更新しようと次

  • Webシステムにおけるデータベース接続アーキテクチャ概論 - ゆううきブログ

    先月投稿した2015年Webサーバアーキテクチャ序論では、Webサーバアーキテクチャを学ぶ道のりと代表的な実装モデルの概要を紹介しました。 今回は、前回同様、主に新卒Webエンジニア向けに、Webアプリケーションサーバとデータベースサーバ間の接続管理モデルと運用事情について紹介します。 データベース接続の永続化やコネクションプーリングとは何なのか、なぜ必要なのかといったことが主な話題です。 背景 データベース接続の永続化とはなにか データベース接続のオーバヘッド データベース接続の永続化手法 コネクションプーリングとはなにか コネクションプーリング: ドライバ型 コネクションプーリング: プロキシ型 コネクションプーリング全体について PostgreSQLMySQL 参考資料 まとめ 背景 2015年Webサーバアーキテクチャ序論では、Webサーバアーキテクチャの話とWebアプリケーショ

    Webシステムにおけるデータベース接続アーキテクチャ概論 - ゆううきブログ
  • 分析SQLのコーディングスタイル - クックパッド開発者ブログ

    SQL、書いてますか? こと大規模データ処理の分野においてはSQLはもはや標準インターフェイスであり、 分析やらバッチやらに関わっている皆様は日々大量のSQLクエリーを生産していることと思います。 そこでちょっと気になるのが、 SQLのコーディングスタイルってどうするのが一般的なんだっけ……? という点です。 イマドキはSQLなんてO/R mapperに吐かせることが多いからなのか、 それともコードを広い範囲で共有することがそもそもないからか、 SQLのコーディングスタイルについて見聞きすることは他のプログラミング言語に比べるとだいぶ少なく、 いまいち決定版と言えるスタイルがないなと感じています。 そんなわけで日は、SQLのコーディングスタイルについての意識を活発化させるべく、 クックパッドでわたし(青木)が使っているコーディングスタイルから特徴的な点を紹介したいと思います。 特に、分析

    分析SQLのコーディングスタイル - クックパッド開発者ブログ
  • varcharとtextの違い(mysql innodb) - lxyuma BLOG

    mysqlの可変長文字列を扱う、varchar型とtext型の違いの話。 古い情報が混在していたので、ちょっと整理してメモ。 myisamの頃の話 sizeが違う 行の中身がdataか(varchar)、dataへのポインタか(text) 参照挟むので、performanceの違いがあった(varcharが早い) 今 net でぐぐって、ひっかかる情報の大半がこの話。 最近のinnodbの話 最大sizeは一緒。64kb(但し、TINYTEXT型、MEDIUMTEXT型、LONGTEXT型は名前の通り違う) varcharもtextも、中身は同じ仕組み(BLOB field / off page column) 行にdata入れるのも、外部(overflow page)への参照にするのも、行フォーマット次第(row format) 5.6で行formatのdefault は COMPACT

    varcharとtextの違い(mysql innodb) - lxyuma BLOG
  • MySQLの複合UNIQUEインデックスと文字列型のはなし - 十番目のムーサ

    Firebird 徹底入門 作者: 木村明治,はやしつとむ,坂井恵出版社/メーカー: 翔泳社発売日: 2009/12/10メディア: 大型 クリック: 19回この商品を含むブログ (11件) を見るこのの著者の木村さんのブログを読んでいて気になった記事のメモ。 Firebird SQLの人だそうだが、MySQLや他のデータベースにも詳しく、ブログで様々なデータベースの話が取り上げられている。 MySQLの複合UNIQUE制約をNULLはすり抜けるが空文字列はすり抜けない キムラデービーブログ MySQLでの一意インデックス(Unique index)の実装について つまり、Firebird(Oracle, PostgreSQL)からMySQLに移行する場合、 エラーとしてはじかれていた(1,null)がはじかれなくなります。 逆に、MySQLからFirebird(Oracle, Pos

    MySQLの複合UNIQUEインデックスと文字列型のはなし - 十番目のムーサ
  • 僕はSQLをこう学んだ | mah365

    いくらRDBの操作を抽象化してくれる便利なライブラリ(ORマッパーとか)を使っていても、それでもRDBを使う限りは、テーブル設計の考え方にしろ抽出ロジックの考え方にしろ、SQLを知っていないとやりづらいと思うのです。 でも正直、「SQLこう学べば一発でわかるようになるよ」と言えるほど教えるノウハウはない。なので、僕がどうSQLを勉強したか書いておこうと思います。 正直、情報処理の試験で問われるまでSQLを使う用事がなかった プログラミングの歴だけは長いのですが、SQLを勉強する必要が出たのは、新卒で入社した会社で「ソフトウェア開発技術者(現・応用情報処理技術者)を取りなさい」と言われてからです。 いきなりお勉強的なムードからSQLを学ぶ必要が出てしまったので、最初は全くやる気にならなかった・・・ので、これはいかんと思って、何とか手を動かそうと思って、手にとったのがSQL書き方ドリルという

    僕はSQLをこう学んだ | mah365
  • How to convert an entire MySQL database characterset and collation to UTF-8?

    Ask questions, find answers and collaborate at work with Stack Overflow for Teams. Explore Teams Collectives™ on Stack Overflow Find centralized, trusted content and collaborate around the technologies you use most. Learn more about Collectives

    How to convert an entire MySQL database characterset and collation to UTF-8?
  • Amazon DynamoDB編~DynamoDBをはじめてみよう!パート①~

    こんにちは! JQです。 前回は『ファイル転送編~Tsunami UDP Protocolパート③~』ということで、Tsunami UDP Protocolで実際にリージョン間転送を試してみました。 今回は『Amazon DynamoDB編~DynamoDBをはじめてみよう!パート①~』と題して、Amazon DynamoDBを実際に触ってみたいと思います。 Amazon DynamoDBとは DynamoDB は高速な完全管理型 NoSQL データベースサービスで、任意の量のデータを格納、取得し任意のレベルのリクエストトラフィックを処理できます。 すべてのデータ項目を SSDSolid State Drive)に保存し、3 つのアベイラビリティーゾーンにわたってレプリケーションすることで、高いアベイラビリティーと耐久性を実現しています。 DynamoDB を使用すると、可用性の高い分散

  • コンセプトから学ぶAmazon DynamoDB【複合キーテーブル篇】 | DevelopersIO

    よく訓練されたアップル信者、都元です。DynamoDB楽しいです。みんなもっと使えばいいのにと思って最近のエントリーを書いています。今回は、前回名前だけ触れた「複合キーテーブル」について。DynamoDBについて全くご存知無い方は、まずは下記エントリーを読んで頂ければと思います。 Amazon RDSとの比較で学ぶDynamoDB コンセプトから学ぶAmazon DynamoDB【ハッシュキーテーブル篇】 今回のサンプルデータ フォーラム・スレッド・返信投稿という3要素で構成した掲示板のデータベースとして、それぞれForum, Thread, Reply というDynamoDBのtableがあり、下記のようなitemがそれぞれのtableに入っているようなイメージをしてみてください。 // Forum { "Name": "DynamoDB", "Category": "Amazon We

    コンセプトから学ぶAmazon DynamoDB【複合キーテーブル篇】 | DevelopersIO
  • コンセプトから学ぶAmazon DynamoDB【ハッシュキーテーブル篇】 | DevelopersIO

    よく訓練されたアップル信者、都元です。最近DynamoDBづいております。DynamoDBについて全くご存知無い方は、まずは下記エントリーを読んで頂ければと思います。 Amazon RDSとの比較で学ぶDynamoDB 要するに、即時一貫性・操作の原子性・検索条件の自由度を犠牲にして、可用性と拡張性を手に入れたデータベースがDynamoDBであります。では具体的に、データの読み書きはどのように行うのでしょうか。 DynamoDBにおけるコンセプト DynamoDBには主に「table」「item(項目)」「attribute(属性)」という3つの概念が現れます。それに従属する概念として「キー」「インデックス」が出てきます。まずはこの辺りを整理していきましょう。 tableというのはみなさん分かりやすいでしょう。概ねRDBで言うところのテーブルに相当し、itemの集合体です。itemについて

    コンセプトから学ぶAmazon DynamoDB【ハッシュキーテーブル篇】 | DevelopersIO
  • コンセプトから学ぶAmazon DynamoDB【Amazon RDSとの比較篇】 | DevelopersIO

    よく訓練されたアップル信者、都元です。AWS上のシステム設計において、どんな時にRDSを選択するのか、そしてどんな時にDynamoDBを選択するのか。比較しながら見て行きたいと思います。 RDBとNoSQL ACIDなRDB 一昔前、一般的に「データベース」と言えば、多くはリレーショナルデータベース(RDB)のことを指していました。テーブルと呼ばれる「行とカラムで構成される二次元のデータ構造」に対して、SQLと呼ばれる強力なクエリ言語で操作を行い、データの一貫性(Consistency: どこから観測しても同じ値が得られること)や操作の原子性(Atomicity: 一連の操作を全て適用commitするか、全てキャンセルrollbackするかの二択として実現できること)を実現するモデルは、開発者を含むシステムの利用者にとって非常に理解しやすく、広く受け入れられて来ました。多くの方がご存知の通

    コンセプトから学ぶAmazon DynamoDB【Amazon RDSとの比較篇】 | DevelopersIO
  • [AWS] RDS for Aurora を作成・削除する。 – LexTech

    2015/11/27 by クルーレキサス·[AWS] RDS for Aurora を作成・削除する。 はコメントを受け付けていません こんにちは、与儀です。 RDS for Aurora は、「Amazon がクラウド時代にリレーショナル・データベースを作るとどうなるかを1から考えて構築したサービス」です。 下記のスライド12ページから、Auroraの特徴を抜粋すると、 MySQL5.6と互換性があるため既存のアプリケーションを簡単に移行可能 ストレージが10GBから64TBまでシームレスに拡張 3AZに3つずつ、計6つのデータのコピーを保持 -S3にストリーミングバックアップを実施 VPC内に起動 -SecurityGroupやNACLを使用してアクセスコントロール可能 Amazon Auroraは99.99%の可用性を実現するように設計されている 東京リージョンで使えるようになって

  • 【Aurora】とあるWebサイトのDBをAmazon Auroraに移行してみた | DevelopersIO

    はじめに AWSチームのすずきです。 今月(2015年10月)よりAWS東京リージョンで利用可能となった、RDS for Amazon Aurora。 とあるサイトのCMS(WordPress)のバックエンドDBとして稼働していたRDS(mysql)を移行し、 Amazon Auroraの性能の一端を確認できる機会がありましたので、紹介させて頂きます。 概要 RDSのスナップショットより、スナップショットの移行(migrate)を実施しました。 ElasticBeanstalkの機能(クローン、DNSスイッチ)を利用して、RDS(Aurora)参照環境の構築と切替を実施しました。 DBの最終同期として、mysqldumpコマンドによるエクスポート、インポートを行いました。 システム概要図 移行手順 スナップショットの復元 AWSコンソール、RDSのスナップショット画面より復元対象とするRD

    【Aurora】とあるWebサイトのDBをAmazon Auroraに移行してみた | DevelopersIO
  • なかったらINSERTしたいし、あるならロック取りたいやん?

    Database Lounge Tokyo #4 https://database-lounge-tokyo.connpass.com/event/54855/ で話した資料。 動画はこっち https://www.youtube.com/watch?time_continue=1&v=VTEAJHJHIpY

    なかったらINSERTしたいし、あるならロック取りたいやん?
  • MySQLでBLOB/TEXT型カラムにインデックスを張る | dTblog | デザインとプログラムの境界をさまようブログ

    MySQL で新たにテーブルを作ったり、プライマリキー、ユニーク制約、またはインデックスを作成する際、下記のようなエラーが発生することがあります。 ERROR 1170 (42000): BLOB/TEXT column 'text_field' used in key specification without a key length 結論として回避策から書くと、BLOB型またはTEXT型の場合は、インデックス作成時にキー長を明示してあげる必要があります。 create index new_index on table_name(text_field(100)); このエラーは、MySQLBLOB型もしくはTEXT型 (これらに順ずる TINYTEXT型 や LONGTEXT型を含む)のような可変長カラムでは、その先頭から最大255文字分しかインデックスできないという制約から来て

  • O/Rマッピングの役割とメリット

    O/Rマッピングは、従来の煩雑なデータベースに関する処理の記述をスマートにし、、柔軟なアプリケーションの構築を可能にします。連載ではオープンソースのO/Rマッピングフレームワーク「Hibernate」を用いてO/Rマッピングの基礎を解説します。そしてさらに、J2EEアプリケーションへの実践的な適用方法とそのメリットも紹介していきます。(編集局)

    O/Rマッピングの役割とメリット
  • いまさらながらRails4.1から導入されたEnumが便利なのでまとめてみた - Rails Webook

    las - initially (Lori Semprevio) | Flickr - Photo Sharing! Rails4.1から導入されたEnumの挙動について忘れることがあるので簡単にまとめました。 enumの定義、enumを定義したことにより使える便利なメソッドなどをまとめました。 目次 enumのスキーマ定義 enumで使えるメソッド enumの値を検索 enumの注意点 動作確認 Rails 4.2.3 Ruby 2.2.2 enumの定義 次のように、enum、属性名、属性の値(ハッシュ)で指定することでEnumを定義することができます。 class Article < ActiveRecord::Base # enumの定義(キーと数字のハッシュを渡す。数字がDBカラムに設定される) enum status: { draft: 0, published: 1 } en

    いまさらながらRails4.1から導入されたEnumが便利なのでまとめてみた - Rails Webook