ScalaでSQLを書くのにSlickで便利にやる話. Slickでは生SQLを補間子(sql"...")で書けるけれど, リストが渡せなくてWHERE column IN ($list)できなかったり, 他にもいくつか不便なところがあったのでなんとかした. 最近になってScalaを書き始めたのでScala力を上げるための練習も兼ねている. なぜ生SQLか 社内では既にMackerelでSlickを使っていて, liftedな書き方をしているけれど, これはぱっと思いつくだけでも以下のような実運用上の課題があった. そもそもどの部分がクエリを表しているのかぱっと見わかりづらい 意図せず複雑なクエリになることがある 非Scalaエンジニアが読めない とくに最後のは, たとえばインフラ系のエンジニアが(クエリログを精査した結果などから)やばいクエリの出所を探そうと思ったときに全く手がつけられな
データベースはディスクへのアクセスを頻繁に行うことが多いため、ストレージの性能がボトルネックになっている場合にはストレージをハードディスクからフラッシュベースのストレージに換えることも有用になります。オラクル製フラッシュストレージのSun Flash Accelerator F80 PCIe Cardを利用するためのLinuxやMySQLのチューニング例は下記の資料を参照してください。 URL:http://www.oracle.com/us/technologies/linux/linux-and-mysql-optimizations-wp-2332321.pdf ただし将来的に求められるハードウェアスペックに合わせたサーバを事前に用意することは、初期投資が大きくなることを意味します。高いスペックのサーバを用意したにも関わらず、サービスが想定よりも利用されない場合には無駄な投資となって
印刷する メールで送る テキスト HTML 電子書籍 PDF ダウンロード テキスト 電子書籍 PDF クリップした記事をMyページから読むことができます グローバルでのリレーショナルデータベース製品市場は、Oracle、IBM、Microsoftが“ビッグスリー”として7割以上のシェアを占める。これらにSAPを加えた企業群は、Gartnerが公表している各ベンダーに対する市場での総合評価「マジッククアドラント」でも「リーダー」として評価されている。 この「マジッククアドラント」のオペレーショナルデータベース管理システム部門で、2014年になって新たに「リーダー」の評価を受けた企業にEnterpriseDBがある。同社は、オープンソースデータベース「PostgreSQL」のディストリビューターとして、Oracle Databaseとの互換機能を持つ「Postgres Plus Advanc
QConTokyo ( http://www.qcontokyo.com/KotaUENISHI_2015.html ) の発表スライド
2015-04-07 普段MySQL使ってる僕がMongoDBを使って気づいたこと2つ テクノロジー プログラム Tweet ロゴ見て気づいたのですが、 MongoDBの頭文字って小文字なんですね。 そんなことは置いといて。 最近mongoDB(小文字に変えたw)を使う機会がありました。 僕が普段触っているMySQLと違って、 ググっても、まあー情報が少ないんですよね。 コマンドとかは割りとあるのですが、 PHPでの操作とかは少なかった印象です。 そこで今回は、 PHPでの操作 mongoDBの復旧(リストア) の2つを備忘録として、まとめておこうと思います。 PHPでループさせて検索ができない こういうことです↓ ※サンプルの一部はPHPの公式ドキュメントから拝借しました。 つまり、検索値(findの条件)を変数にしてループすることが出来ないようです。 まあ、そもそも何回もDB接続せずに
過去10年、開発者や技術者はMySQLとPostgreSQLを比較し、後者が技術的には優れていると考える人が多かった。PostgreSQLの支持者は、そのANSI標準サポートやACID準拠がMySQLのスピードに勝ると主張する。しかし、すべてのLinux Webホスティングパッケージに含まれることから、非常に多くのWeb開発者がMySQLを使い続けている。Diceの記事では、開発者のDavid Bolton氏がMySQL/MariaDB 5.7.6(2015年3月9日、コミュニティーにリリース)とPostgreSQL 9.4.1を比較し、サブクエリやJSONサポート、ライセンス、データの完全性といった点で現在もPostgreSQLの優位性は変わらないとみる。10年以上にわたって両方のデータベースを使用しているというBolton氏は、MySQLにも改善はみられるものの、PostgreSQLを
オブジェクト指向で成功したデータベースはあったのか? 「今日のDBオフラインはDB Onlineのコンテンツに関するオープン会議を想定しています。ということでビールも用意しています。それでは乾杯!」 今回谷川氏と一緒に話を進めるのは、ISO SC32/WG3(Database Language SQL)日本代表であり、日本データベース学会 副会長の土田正士氏。データベースに携わり30年にもなる生き字引のような存在です。普段は日立製作所にお勤めで、SQL標準の策定のほかにデータベース製品の開発にも携わっています。2011年に学会活動がきっかけで博士号を取得されています。(参考記事:日立の「Dr.SQL」登場!-土田正士さん)。 第2回DBオフラインやります。 →「Dr.SQLに聞くSQLの歴史とこれから ― え、SQLはすでにNoSQLだったの!?(後編)」 土田正士さん(左)と谷川耕一さん
外部キー便利!!! MackerelではPostgreSQLで外部キーあり そのレコードがあることが保証される 各テーブルのidにアプリケーションレベル(Mackerelの場合Scala)で型付けをするとなお便利 MemberID型、MonitorID型 → idで誤ったテーブルを引くとかがない 本日のスキーマ CREATE TABLE `member` ( `id` INTEGER unsigned NOT NULL auto_increment, `earned_item_count` INTEGER unsigned NOT NULL DEFAULT 0, `name` VARCHAR(191) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARACTER SET utf8mb4; CREATE TABLE `item`
システム開発を行っているときにダミーのデータが欲しくなることは多々あります。そんな時に本番データをコピーして使うのは大きな問題につながる可能性があるので決してしてはいけません。電話番号やメールアドレスなどを置き換える作業が逆に手間になる場合もあります。 そこで使ってみたいのがダミーデータのジェネレータです。今回はPython製のfake2dbを紹介します。 fake2dbの使い方 fake2dbはSQLite、PostgreSQL、MySQLそしてMongoDBに対応しています。インストールはpipでできます。 pip install fake2db インストールしたらfake2dbコマンドでデータベースに直接データを流し込めます。 fake2db --rows 200 --db sqlite # SQLiteの場合 fake2db --rows 1500 --db postgresql
RailsでCSV/Excel/OpenOfficeのアップロード機能の実装方法について説明します。 動作確認 Ruby 2.1 Rails 4.1 Roo 1.13.2 目次 Railsプロジェクトの作成 CSVのインポート機能の実装 Excelのインポート機能の実装 1. Railsプロジェクトの作成まず、Raislのプロジェクトを作成します。 rails new csv_import_test cd csv_import_testそして、必要なコントローラー、ビュー、モデルを作成します。 rails g controller Products index rails g model Product name:string price:integer released_on:date rake db:migrate CSV出力するためのデータを作成します。 # db/seeds.rb
2. copyright © 2014 kuwata-lab.com all rights reserved まえがき 現在、アプリケーション開発の現場では O/R Mapper (ORM) が普及しています。今後 も ORM を使った開発は、増えることはあっても減ることはないでしょう。 しかし ORM は、アプリケーション開発者にとっては便利でも、DB 管理者 (DBA) か らみたらトラブルの種でもあります。それが特にパフォーマンスに関する問題であるこ とが多いため、開発者と DBA が対立することも珍しくありません。 とはいえ、ORM による問題はすでに解決策が用意されている場合があります。本当の 問題は、すでに存在する解決策があまり知られていないことではないでしょうか。 そこで本発表では、ORM によってどのような問題が起こりやすいか、どう解決・予防 すればいいか、そして ORM
こんにちは、すっかり秋ですね!@yone098 です。 みなさんDBの設計してますか? DB設計時のサイズ見積り 以前はてなダイアリーで書いた記事は5年前のものであり、リンクが切れているものがあるので最新版として MySQL, PostgreSQL, Oracle, SQLServer におけるDB設計時のサイズ見積りをまとめ直しました。 URL内のバージョン表記を変えると以前のバージョンの情報になります。 MySQLは、あまり情報に変化は無かったので Excel でマクロなどを作成して自社で自動算出出来るようにするのが良いと思います。 データタイプごとに必要な要求ストレージが決まっているのでレコードサイズが決まり、あとは要件次第で何レコードになるかを予測します。 データタイプごとに必要な記憶容量 テーブルの最大サイズ関連 http://dev.mysql.com/doc/refman/5
サイボウズ・ラボの西尾 泰和さんが「エンジニアの学び方」について探求していく連載の第14回(毎週火曜日に掲載、火曜日がお休みの場合は翌日、これまでの連載一覧)。 「資格試験」テーマの第5回です。 本連載は、「WEB+DB PRESS Vol.80」(2014年4月24日発売)に執筆した「エンジニアの学び方──効率的に知識を得て,成果に結び付ける」の続編です。(編集部) 文:西尾 泰和 イラスト:歌工房 第1回のAさん(仮名)は資格試験にとても肯定的でしたが、一方、実名でアンケートを受けてくださった第2回のおおつねまさふみさんも、第3回のはせがわようすけさんも、あまり資格試験に肯定的ではない印象を受けました。 それがなぜなのかを考えていて、実名で活動している人はその活動によって「他人に対してのスキルの証明」ができるので、実名で活動していない人に比べて資格試験の価値が下がっていて、それが「資格
5. MySQL Central @ OOW 2014に 参加してきました http://tech.gmo-media.jp/post/9943791 4886/dba-looks-back-oracle-open-world -2014 6. 独断と偏見によるMySQL情勢 ● 5.5とかまだ使ってんの? って感じだった ● すいません今日本で4.0駆逐運動中ナンデスケド ● 最近開発版の5.7が話題のメイン ● 5.6でもそうだったけど、5.7はInnoDBが更に 優遇 ● MyISAMさんは真面目にそろそろアレ ● 危ない気配がするもの含め、結構な数の新機能 ● コードベースやベストプラクティスがまた結構 変わりそう
モバイルファースト室の @rejasupotaro です。 Androidフレームワークには端末内にSQLiteでデータを保存するしくみがありますが、みなさんはどのようにしてますか? クックパッドのAndroidアプリでは、ActiveAndroidを使ってDBにデータを保存しています。 ActiveAndroidとは ActiveAndroid とは、Active Recordパターンを採用したAndroidのORMです。 テーブルのCREATEを行うときに、SQLiteOpenHeleperを継承したクラスでonCreateをOverrideしてdb.execQueryでCREATEクエリを実行…としなくても、ActiveAndroidを使えば、 public class MyApplication extends Application { @Override public void
(最終更新日: 2017/9/25) はじめに production 環境で MySQL 5.6 動かすためのパラメータ設計についてまとめました。この記事がカバーする内容は次のとおりです。 パラメータを設定するスクリプト。 各パラメータにおける変更するかどうかの判断基準。 想定されるメモリの消費サイズを算出してパラメータが妥当かどうか確認する方法。 サービスの状況に応じててきぎ読みかえてください。 【結論】パラメータグループ作成・パラメータ設定のスクリプト 結論として、パラメータグループを作成し、パラメータを設定する aws-cli のスクリプトを置きます。Amazon AWS の Web Console から設定することもできます。 #!/bin/sh # == パラメータグループ作成 aws rds create-db-parameter-group --db-parameter-gr
JPOUG> SET EVENTS 20140907 | Japan Oracle User Group (JPOUG)に参加して発表をしてきました。IIJさまのセミナルームは窓からの眺めがすばらしいですね。JPOUGの運営メンバのみなさま、会場を提供してくださったIIJのみなさま、当日お越しいただいたみなさま、どうもありがとうございました。 私のセッションでは「MySQLのロックについて」と題してネクストキーロックなどの説明をしました。プレゼンテーション資料と、調査のために作成したツールを公開します。 プレゼンテーション資料 (PDF) Lock Inspector 1.0 プレゼンテーション資料からリンクしているウェブサイトの一覧です。 MySQL Lists: mysql: Re: InnoDB's inner workings + checkpoints 過去記事の訂正 @kami
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く