タグ

dbに関するdecoy2004のブックマーク (19)

  • データベースリファクタリングについて話をしてきた #OSO2017 - そーだいなるらくがき帳

    岡山にはオープンセミナー岡山と言う最高のイベントがあります。 okayama.open-seminar.org 昨日は id:t-wada さんや id:naoya さんの資料がホットエントリー入りしてました。 この登壇はそれと同じイベントになります。 その他の方も超豪華講師陣の中で、私が出来る精一杯の経験も踏まえたお話をさせていただきました。 speakerdeck.com この中で出て来る、データベースリファクタリングは当に素晴らしいです。 OracleベースなのですがMySQLだろうがPostgreSQLだろうが必ずためになるです。 ですが、このは既に廃刊になっており再販の予定もありません… 僕は後世に絶対必要なの一つだと思っているので再販のためにも皆さんの要望の声を上げていただけるとうれしいです。 そしたらもしかしたらが世に復活するかもしれません。 またSQLアンチパタ

    データベースリファクタリングについて話をしてきた #OSO2017 - そーだいなるらくがき帳
  • MySQL 5.7の罠があなたを狙っている

    2015/08/22 YAPC::Asia Tokyo 2015 Lightning Talk 2016/01/13 update about default_password_lifetime will be 0Read less

    MySQL 5.7の罠があなたを狙っている
  • 営業さんまで、社員全員がSQLを使う 「越境型組織」 ができるまでの3+1のポイント | リブセンス

    エンジニアから営業まで、社員全員がSQLを使うデータドリブン組織はどのようにできたのか。コラボレーションツールに記録された実データから辿るケーススタディ。巻末には、今すぐ学べるSQL練習帳も収録。未経験の方でもブラウザだけで簡単に練習できます。 Read less

    営業さんまで、社員全員がSQLを使う 「越境型組織」 ができるまでの3+1のポイント | リブセンス
    decoy2004
    decoy2004 2015/03/13
    データベースを壊した時に1クリックで復旧する仕組みがないと困る気がする。長時間占有するクエリを見つけたり止めたりできるのかな?
  • fake2db - 各種データベースに対応したダミーデータジェネレータ MOONGIFT

    システム開発を行っているときにダミーのデータが欲しくなることは多々あります。そんな時に番データをコピーして使うのは大きな問題につながる可能性があるので決してしてはいけません。電話番号やメールアドレスなどを置き換える作業が逆に手間になる場合もあります。 そこで使ってみたいのがダミーデータのジェネレータです。今回はPython製のfake2dbを紹介します。 fake2dbの使い方 fake2dbSQLite、PostgreSQLMySQLそしてMongoDBに対応しています。インストールはpipでできます。 pip install fake2db インストールしたらfake2dbコマンドでデータベースに直接データを流し込めます。 fake2db --rows 200 --db sqlite # SQLiteの場合 fake2db --rows 1500 --db postgresql

    fake2db - 各種データベースに対応したダミーデータジェネレータ MOONGIFT
  • https://jp.techcrunch.com/2014/12/15/20141213foundationdb-and-the-new-nosql/

    https://jp.techcrunch.com/2014/12/15/20141213foundationdb-and-the-new-nosql/
  • CIサーバーとSchemaSpyでデータベースのドキュメント作成を自動化

    RESTful API (JAX-RS) �書くだけで仕様書も�自動で作られていく話 with MicroProfile Open APIKohei Saito

    CIサーバーとSchemaSpyでデータベースのドキュメント作成を自動化
  • DB 設計時のサイズ見積り[最新版] - Qiita

    こんにちは、すっかり秋ですね!@yone098 です。 みなさんDBの設計してますか? DB設計時のサイズ見積り 以前はてなダイアリーで書いた記事は5年前のものであり、リンクが切れているものがあるので最新版として MySQL, PostgreSQL, Oracle, SQLServer におけるDB設計時のサイズ見積りをまとめ直しました。 URL内のバージョン表記を変えると以前のバージョンの情報になります。 MySQLは、あまり情報に変化は無かったので Excel でマクロなどを作成して自社で自動算出出来るようにするのが良いと思います。 データタイプごとに必要な要求ストレージが決まっているのでレコードサイズが決まり、あとは要件次第で何レコードになるかを予測します。 データタイプごとに必要な記憶容量 テーブルの最大サイズ関連 http://dev.mysql.com/doc/refman/5

    DB 設計時のサイズ見積り[最新版] - Qiita
  • [速報]オラクル、ボタン1つでOracleデータベースをクラウドへ移行できる新しいDBaaSを発表。Oracle OpenWorld 2014

    [速報]オラクル、ボタン1つでOracleデータベースをクラウドへ移行できる新しいDBaaSを発表。Oracle OpenWorld 2014 米オラクルはサンフランシスコで開催中のOracle OpenWorldで、同社のクラウドサービスの強化を発表しました(関連記事:[速報]Oracle OpenWorld 2014開幕。クラウドをAmazonクラウドやGoogleと同じ価格で提供するとエリソン氏が明言)。 基調講演に立った同社CTO兼取締役会長のラリー・エリソン氏は、オラクルがSaaS、PaaS、IaaSを一緒に提供することを強調。また、オンプレミスのOracleデータベースもアプリケーションも容易にクラウドへ移行し、あるいはクラウドからオンプレミスへ戻すことを実現するとも語りました。 ラリー・エリソン氏基調講演から、SaaSとPaaSについての部分をダイジェストで紹介しましょう。

    [速報]オラクル、ボタン1つでOracleデータベースをクラウドへ移行できる新しいDBaaSを発表。Oracle OpenWorld 2014
    decoy2004
    decoy2004 2014/09/29
    『OracleデータベースもJavaアプリケーションも、ボタンを押すとクラウドへ移行できるだけでなく、モダナイズされる。Javaアプリケーションでなくとも、あらゆるアプリケーションはIaaSへボタンを押すことで移行できる。』
  • Java8でRDBMS作ったよ

    constexpr関数はコンパイル時処理。これはいい。実行時が霞んで見える。cpuの嬌声が聞こえてきそうだGenya Murakami

    Java8でRDBMS作ったよ
    decoy2004
    decoy2004 2014/09/25
    『Jparsec パーサー』
  • 7つのデータベース7つの世界 MongoDB メモ - Qiita

    はじめに 7つのデータベース 7つの世界の第5章 MongoDBのメモです。 1日目 MongoDBインストール 1日目の宿題 やってみよう 1. JSONドキュメント{ "hello" : "world" }の中身を印字してみよう。 > db.yattemiyo.insert({"hello": "world"}) WriteResult({ "nInserted" : 1 }) > print(JSON.stringify(db.yattemiyo.findOne({hello: "world"}, {_id: false}))) {"hello":"world"} > > db.towns.find({name: /new/i}) { "_id" : ObjectId("540bd726c265200143a187d6"), "name" : "New York", "populat

    7つのデータベース7つの世界 MongoDB メモ - Qiita
  • 実践編:Camel, Tomcat, MySQL によるWeb APIアプリなものを高速開発 - Qiita

    アプリをAPI化して各アプリを疎結合していく作りが多くなっていくこの世の中、 Apache CamelからDBにつなぐ方法、Tomcat等のコンテナで動作させる方法などなどが分かるとAPI的な実用なものがサクッと作れたりする所を今回説明。 (CamelからJettyを扱えるのでTomcat使わなくても動くけど) 今回の目標 IDを指定してhttpで問い合わせるとDBテーブルの内容をそのままJSONデータで返すアプリを作ること // tomcatで受信したデータを取得 http://localhost:8080/appname/list?id=123 from("servlet:///list") // アクセスログを出力(ログイン処理ではない〜) .to("log:in") // SQLで情報を取得 .to("sql:SELECT * FROM myitems WHERE user_id

    実践編:Camel, Tomcat, MySQL によるWeb APIアプリなものを高速開発 - Qiita
    decoy2004
    decoy2004 2014/09/05
    『IDを指定してhttpで問い合わせるとDBテーブルの内容をそのままJSONデータで返すアプリを作ること』
  • 主キーはインデックスではない - 設計者の発言

    仕事柄、奇妙なDB構造を目にすることが多い。どういう発想からそんな設計がされるのかを理解したいと思っていたのだが、モデラー仲間の秋里さんが先日うまい指摘をした。「主キーをインデックスみたいなものと勘違いしているからではないでしょうか」。インデックス(キー)というのは、レコードの並び順を規定するキーのことだ。 たしかに思い当たる節がある。「こんな順にレコードが並んでいれば処理上都合がよさそうだ」という考えで主キーが設定される。さらに主キーはユニーク制約でもあるので、重複が起こらないように「多め」に項目を突っ込んでおく。つまり「ユニーク制約をともなう代表的インデックス」程度に主キーが理解された結果として、グダグダなDB構造が出来上がるのではないか。 じっさい、昔こんなことがあった。{a,b,c,d}の複合主キーをもつテーブルXがある。ところが、別のテーブルYからテーブルXの特定レコードにアクセ

    主キーはインデックスではない - 設計者の発言
    decoy2004
    decoy2004 2014/08/27
    『主キー設計というものは、「いくつかの関数従属性が成立することを分析する仕事」というよりは、むしろ「圧倒的多数の関数従属性が成立しないことを保証する仕事」である』
  • gihyo版「エンジニアの学び方」を公開しました - 西尾泰和のはてなダイアリー

    技術評論社のWEB+DB PRESS Vol.80に掲載した、特別企画「エンジニアの学び方」がWeb上で無償で読めるようになりました。 僕は、自分の学び方をよく観察して、改善すべき問題点を見つけ、それを改善する、というサイクルを続けていくことがとても重要だと感じています。そのため、今後もブログなどでこの手の話題を書くのですが、そこから雑誌の記事に言及しても読者さんは入手がしにくいので何とかならないかと相談したところ、快くWebでの公開という形になりました。技術評論社さん、ありがとうございます。 技術評論社のウェブサイトgihyo.jpで読むことができます: エンジニアの学び方─効率的に知識を得て,成果に結び付ける:特集|gihyo.jp … 技術評論社 公開時の筆者のブログ記事: 「エンジニアの学び方」を執筆しました。 Web版公開時の筆者のTweet: WEB+DB Pressの特別企画

    gihyo版「エンジニアの学び方」を公開しました - 西尾泰和のはてなダイアリー
    decoy2004
    decoy2004 2014/08/04
    『技術評論社のWEB+DB PRESS Vol.80に掲載した、特別企画「エンジニアの学び方」がWeb上で無償で読めるようになりました。』
  • MongoDBでECサイトを実運用する3つのテクニック | Tokyo Otaku Mode Blog

    こんにちは。Tokyo Otaku Mode CTOの関根です。 Tokyo Otaku Modeでは、2013年8月からotakumode.com上にカート機能を追加し、決済までをワンストップでできる海外向けECサイトをスタートしました。 どういうシステム構成でotakumode.comが運用されているかを聞かれた時、「Node.js + MongoDBです」と答えると、エンジニアの皆さんは一様にびっくりします。特に驚かれるのが、MongoDBをメインのDBに使用している点です。信頼性に定評があるわけでなく、またNoSQLに対するライトなイメージが一般的にあるため、ECサイトのプロダクションとして使うことに疑問を持たれている方が多いのでしょう。 しかし、十分実用に耐え、日々機能追加が入り成長し続けるスタートアップの環境で、実際に1年間運用してきたECサイトがここにあることも事実です。 そ

    MongoDBでECサイトを実運用する3つのテクニック | Tokyo Otaku Mode Blog
    decoy2004
    decoy2004 2014/08/01
    『MongoDBを使ってAtomicな処理をするには、ちょっとしたコツが必要となります。』 トランザクションを RDB とは違う方式で実現するそうだ。
  • Redmineなど汎用的に使えるバックアップ処理(shellscript+cron+rsync) - Qiita

    redmineバックアップ処理 毎回設定が面倒なので、 結構汎用的に使える?そして、簡単に実装できる? クーロン+シェルを利用したバックアップ処理を書いてみました。 ※ ロギングやエラー処理は適宜入れてみてください。 #!/bin/bash # Redmine Backup # 定義 # バックアップ先フォルダ TO_BK_DIR=/backup/to # 現在日付(バックアップファイル名に使用) NOW=`date +%Y%m%d%H` # DBバックアップ mysqldump -u DB_USER -pDB_PASS DB_NAME | gzip > $TO_BK_DIR/redmine/redmine_db_$NOW.sql.gz # アップロードファイルバックアップ gzip -rc /REDMINE_ROOT/files > $TO_BK_DIR/redmine_upload_$

    Redmineなど汎用的に使えるバックアップ処理(shellscript+cron+rsync) - Qiita
    decoy2004
    decoy2004 2014/07/31
    『DBバックアップ』
  • GitHubを使った複数人でのスキーマ管理 on Rails - so what

    要約 Chefみたいなスキーマ管理ツール(Ridgepole)を使うと、GitHubを使ったワークフローでスキーマを管理できる(と思います、たぶん) RailsのMigrationsについての問題提起 Migrationsは便利な仕組みですがベストではないと常々思っていました。 具体的には、特定のマイグレーションを保留にしにくいとか、複数人で作業するとコンフリクトすることがあるとか。 大きめのRailsプロジェクトだと特別なワークフローを用意して解決しているんですかね…声出して行こうぜ!とか。 Chef的スキーマ管理ツール: Ridgepole https://github.com/winebarrel/ridgepole (デモ) 以前からそのようなそのような問題意識があって、たぶん Chef的な冪等性保証する(操作ではなく定義を書くたぐいの)ツールがあれば解決できそう、でも実際作るの大

    GitHubを使った複数人でのスキーマ管理 on Rails - so what
    decoy2004
    decoy2004 2014/06/30
    『RailsのDSLでスキーマを定義してそれを食わせると、その通りにスキーマを変更してくれるツールです(カラムが追加されたらadd_columnを実行とか)。冪等性を保証してる』
  • 論理削除と一意性制約を両立させる方法・DB製品別 - Qiita

    アプリケーション上でなにかエントリ(例えば記事だとかユーザだとか)を削除したとき、DB上の行は削除せず単に【削除済み】フラグを立てるだけという扱い方を 論理削除 と呼びます。 論理削除にはいろいろなメリットがあります。行削除のように関連する他テーブルへ削除が波及しないこと、エントリ復活ができること、障害時にデータ変更の経緯を追いやすくなることなどなど(デメリットもわんさかあるんですが、この記事の主旨からははずれるので別途お調べください)。 ところが論理削除の方針でDBを組んでいて困ったことはありませんか? 「 メールアドレスは一意性(UNIQUE)制約をかけたいのに、それだと削除済みのユーザと同じメールアドレスが使えないことになる 」 論理削除と一意性制約、両立はできないのか? できないと思っている方、多いと思います。実はちゃんとできます。DB製品によって実現方法がちょっと違ってくるだけで

    論理削除と一意性制約を両立させる方法・DB製品別 - Qiita
  • DB の state は State Machine で管理する - ボクココ

    最近は毎日プログラミングの日々を過ごしている。 そんな中、とあるテーブル(ドキュメント)で状態を管理しなきゃいけない場面があった。 この問題の一つの手としてはstate をint で保存し、一つ一つの数字を何かしらの状態に紐づけるやり方だ。これを実践してみたことがある方ならわかる通り、後でこれをメンテする人がいったいその数字が何なのか、をいちいちどっかのドキュメントを見て調べなければならない。これの管理がとても面倒。何かの状態が新しくできたらそのドキュメントもちゃんと更新しないと、色々崩壊する。 State Machine State Machine はそれぞれの状態と、状態の遷移を管理する一種のデザインパターン。これにより、数値での管理をなくし、さらにある状態からある状態への遷移を限定することができる。例えば、状態として「走る」「歩く」「止まる」「寝る」があるとしよう。いきなり「走る」か

    DB の state は State Machine で管理する - ボクココ
  • システム統合にSOA? RDBMS? bashで十分! - @IT

    2009/09/07 毎年夏に開催される軽量プログラミング言語(LL:Lightweight Language)をテーマにした「LLイベント」。第7回目となる「LLTV」が、2009年8月29日に東京・中野で開催された。この記事ではプログラムの一部、「大改善!!劇的ビフォーアフター」をレポートする。前編では、Rubyによるfortuneコマンドの“増築”と、Firefox拡張によるslコマンドの実装というネタ系発表をレポートした。中編ではC言語にLisp風のマクロを取り入れ、lsコマンドのソースコードを約半分に削減する匠の技をレポートした。後編となる記事では、売り場業務が滞りがちだった販売管理システムをbashコマンドで“建て直した”という劇的ビフォーアフターの発表をレポートする。 DBを捨ててテキストファイルに変換 「100万件ぐらいの検索なら、シェルだけでも1000分の数秒でできます

    decoy2004
    decoy2004 2014/04/26
    『26万レコードを含む商品データをgrepで検索しても、たかだか0.5秒で全文検索が終了することを示してみせた。』
  • 1