タグ

DBに関するlibra_666_arbilのブックマーク (21)

  • エロゲーマーのためのSQL -エロゲーマーのためのSQL-

    SQLはデータベースからデータを抽出したりするための言語です。 この文書は、ErogameScapeのデータベースからSELECTを使って自由自在にデータを取得できるようになることを目標にします。 エロゲーをやりはじめる大学生くらいのときに、大学の講義でデータベースを学んで、退屈だなーと思った時に、ErogameScapeでSQLを学ぶことで、少しでもSQLに興味を持って、自身でデータを加工することを学習して頂けると幸いです。 ※私の大学のリレーショナルデータベースの授業では、自分の身の回りの何かをER図に落とし込んで、DBを設計し、PostgreSQLに実装し、実際にデータを入力してSELECTしてみるところまでをやりました。 ER図という概念を学んだとき「ああ、これは面白い」と思いました。 先生はこう言ったのです。 「ER図に落とし込むと、思いもよらなかったことが分かる。」と。 当時、

  • リレーショナルモデルのドメイン設計についての議論

    リレーショナルモデルを実践するには、ドメイン(≒データ型)を如何に正しく設計するかということが極めて重要になる。しかしながら、ドメインをどう設計すべきかという議論はあまりされていないように思う。その結果、ドメインについての理解はあまり進まず、データベース設計に失敗しているパターンが多いように思われる。 というわけで今日のテーマはドメインである。 集合を定義するリレーショナルモデルにおけるデータ型とは何か。リレーショナルモデルを実践するにはまずその点から理解する必要がある。 リレーショナルモデルでは、データ型はドメインと呼ばれる。ドメインとは、その属性(≒カラム)に入るべき値はどういったものかを集合として定義したものだ。言い換えると、属性値とはある集合の要素の一つであると言える。従って、ドメインを設計する際には、SQLで言うところのデータ型、つまりINTやCHARといったものだけでなく、その

    リレーショナルモデルのドメイン設計についての議論
  • @nippondanji 氏の「データベース設計徹底指南!!」は神プレゼン!脅威の主義主張の一貫性保証は DB エンジニアの鏡だった件! - #garagekidztweetz

    ツイート今日は、第 1 回のSQL アンチパターンの回から良コンテンツを提供しまくりなエンバカデロ・テクノロジーズさん主催の第 3 回 DB エンジニアのための勉強会に参加してきました。 今回は 漢(オトコ)のコンピュータ道で有名な漢の中の漢、 @nippondanji 氏がデータベース設計を徹底指南してくれるということで、元々 DB エンジニアがバックグランドのわたしとしてはいかないわけにはいかんだろう、と喜び勇んでいってきました! 内容はというと下記の概要をカバーする内容でした。 リレーショナルデータベース(以下RDB)は登場してからかなりの時間が経っています。その名が示すように、RDBはリレーショナルモデルをベースに考案されたソフトウェアです。しかしながら、未だに現場ではRDBが使いこなされているとは言いがたく、リレーショナルモデルへの理解も進まず、誤った常識が跋扈しているのが現状で

    @nippondanji 氏の「データベース設計徹底指南!!」は神プレゼン!脅威の主義主張の一貫性保証は DB エンジニアの鏡だった件! - #garagekidztweetz
  • ニコニコ動画のデータセットが公開されたらしい - 唯物是真 @Scaled_Wurm

    研究用にニコニコ動画のコメント約300GBを公開‐ニコニコインフォ 情報学研究データリポジトリ ニコニコ動画コメント等データ 国立情報学研究所のダウンロードサービスでニコ動のデータセットが公開されていたので、とりあえずダウンロードしてみました ダウンロードの手順 以下のページで、名前、メールアドレス、所属を入力すればよいみたいです。 情報学研究データリポジトリ ニコニコ動画コメント等データ 申請 データの形式 行ごとにそれぞれの動画のjsonが書かれたファイルがたくさんあります。 コメントのデータもありますが、ユーザーに関する情報はないみたいです 動画の説明などには<b></b>や<font></font>、<br />などのHTMLタグが含まれていましたので、それらの除去が必要になりそうです タグの頻度 なんか面白いことできないかなーと考えたんですが、何も思い浮かばなかったので、とりあえ

    ニコニコ動画のデータセットが公開されたらしい - 唯物是真 @Scaled_Wurm
  • JDBCによるDB操作を速くするには - omotenashi-mind

    JavaによるDB操作は遅いという話を良く聞きますが、原因の特定と適切な対策を実施すればかなり実用的なレベルまでパフォーマンスは改善加能です。ここではJDBC利用に対するパフォーマンス改善の勘どころをまとめます。まずDB操作の中でも大きく「データ照会(SELECT)」、「データ操作(INSERT, UPDATE, DELETE)」によって必要な対策が異なるため、ここではそれぞれの目的に分けて解説します。 データ照会(SELECT) ケース1:大量レコードを取得する処理が遅い SELECT処理にて、数千、数万件以上のデータを取得するようなクエリが遅い場合にはfetchサイズの見直しが効果的です。JDBCクライアント(JDBCを利用してDBサーバに接続しているJavaアプリケーション)は、DBサーバ側で実行されたSELECTの結果セットをfetchサイズで制限された行数分、分割して取得する

  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • サロゲートキーと複合主キー | DBFlute

    一方で、Webサービス系などで論理設計と物理設計をもう一緒くたにやっていくような場合は、 正規化の論理に目の前にあるサロゲートキーを含めないようにすることが大切で、モデリングはナチュラルキーを基軸に考えていくとよいでしょう。 サロゲートキー (代理キー) サロゲートキー + (複合)ユニーク制約 ナチュラルキーをPKにせず、例えば連番となるようなカラムを用意して、それをPKにします。 これがサロゲートキーと言われるものですが、ナチュラルキーには別途ユニーク制約を付与する というのを忘れてはいけません。 ここでは、ナチュラルキーにユニーク制約を付けずにサロゲートキーだけを導入する方式は、業務的・実装的に意味はないと考え、ここでは取り扱いません。 議論の対象にすらしません。ユニーク制約を付けることで業務的なユニーク性を保ちつつサロゲートキーの恩恵を得ることができ、同時にナチュラルキーを明示する

  • tweets.zipをMySQLに突っ込んでSQLを学ぶ(導入編) · さよならインターネット

    April 4, 2013 Twitterの過去ログが落とせるようになったので SQLに学ぶには丁度いいや。ということで カジュアルにOSX上でhomebrewを使ってMySQLに入れてみました。 MySQL ver.5.6 (homebrew install) OS / OSX 10.8.3 なにはともあれアーカイブをダウンロード Twitterの個人設定っぽいところから ポチポチするとダウンロードリンクが貼られたメールが送られてくるので ポチポチしてtweets.zipをダウンロード。 tweets.csvを探す tweets.zipを解凍すると、中身がこんな感じに出てきて index.htmlをブラウザで開くと、過去のツウィートが見れたりします。 時間泥棒なのでおすすめしません そして、tweets.csvが目的のファイルで、中身を開くと "tweet_id","in_reply_t

  • SQL Fiddle - Online SQL Compiler for learning & practice

    During Phase 1, only users who are logged in can access the AI chat feature. SQL Fiddle is free to use and ad-free! Want to help us? It takes 10 seconds Step 1: Like & Share our EFE Bulk Extensions videos Step 2: Like & Share our EFE Bulk Insert videos Thank During Phase 1, only users who are logged in can access the AI Editor feature. SQL Fiddle is free to use and ad-free! Want to help us? It tak

  • Rails で、Controller に定義されている action を一度に取得する方法はありますか? - QA@IT

    平素よりQA@ITをご利用いただき、誠にありがとうございます。 QA@ITは「質問や回答を『共有』し『編集』していくことでベストなQAを蓄積できる、ITエンジニアのための問題解決コミュニティー」として約7年間運営をしてきました。これまでサービスを続けることができたのは、QA@ITのコンセプトに共感をいただき、適切な質問や回答をお寄せいただいた皆さまのご支援があったからこそと考えております。重ねて御礼申し上げます。 しかしながら、エンジニアの情報入手方法の多様化やQAサービス市場の状況、@ITの今後のメディア運営方針などを検討した結果、2020年2月28日(金)15:00をもちましてQA@ITのサービスを終了することにしました。 これまでご利用をいただきました皆さまには残念なお知らせとなり、誠に心苦しく思っております。何とぞ、ご理解をいただけますと幸いです。 QA@ITの7年間で皆さまの知識

    Rails で、Controller に定義されている action を一度に取得する方法はありますか? - QA@IT
  • liquibaseでお手軽DBバーション管理 - pnktsのはてダ

    書いた http://github.com/gotoppella/liquibase_project antをインストールさえすりゃ使えるらくちん 初期設定 $ cat <<EOF > dbconfig/設定名.property > #liquibase.properties > driver: com.mysql.jdbc.Driver > url:jdbc:mysql://ホスト名(:ポート番号)/データベース名 > username: ユーザ名 > password: パスワード > EOF $ ant db:changePropertiesFile db:changePropertiesFile: [input] input config type >設定名antのtargetを実行する際、"input config type >"と出た場合、 dbconfigディレクトリにある"

    liquibaseでお手軽DBバーション管理 - pnktsのはてダ
  • DBAを救え! DBリファクタリングツール「LiquiBase」を使ってみよう

    LiquiBaseとは LiquiBaseというプロダクトをご存知だろうか。LiquiBaseは「データベースのリファクタリングツール」と銘打つプロダクトで、先月27日にバージョン1.3がリリースされている。稿では、現在注目を集める同プロダクトの基的な使用法を紹介したい。 LiquiBaseの最も大きな特徴は、データベーススキーマの変更管理を行える点にある。この部分が「データベースのリファクタリングツール」と呼ばれるゆえんだ。 プログラムコードに対して行う通常のリファクタリングでも、それを思い切って行うためには、リファクタリング作業を理解し、かつアンドゥ機能を完備したIDEや、いざというときにロールバックを行うためのバージョン管理システムなどが不可欠だ。LiquiBaseは、リファクタリングの前提とも言えるそうした機能を提供するツールだと言ってよい。 同ツールは、書籍『Refactor

  • Flywayで簡単DBマイグレーション | DevelopersIO

    Flywayとは FlywayとはDBマイグレーションフレームワークです。 複数人でのアプリケーション開発時のDBマイグレーション作業を素早く手軽に行うことができます。 MavenやAnt、APIやコマンドラインツール形式で提供されており、柔軟に対応することができます。 環境構築方法 今回使用した動作環境は以下のとおりです。 OS : MacOS X 10.7.4 MySQL : 5.5.15 flywayを使ってみよう 環境設定 flywayはMavenやAPIからも使用できますが、今回はCommand-line Toolを使ってみましょう。 ここからCommand-line Toolをダウンロードして解凍しておきましょう。 次にテストで使用するデータベースを用意します。今回はMySQLを使用しました。 mysqlを起動し、コンソールからデータベースを作成しておきましょう。 mysql>

    Flywayで簡単DBマイグレーション | DevelopersIO
  • パフォーマンス比較 Cassandra、Mongodb、SQLite、H2、MySQL、Postgres - cypher256's blog

    下記のようなシステムでパフォーマンスが良さげな SQLite を使用予定ですが、もっと速いものが無いか確認のため他のデータベースのパフォーマンスを計測してみました。SQL 利用前提ですが、NoSQL が圧倒的な性能を出す場合は検討する必要があるので KVS も確認しました。 データ件数は 1 億件程度、JDBC SQL 利用可能 INSERT、UPDATE はバッチ SELECT は主キーアクセス性能を重視 将来スケールアウトのための分散はありえるが、スタンドアロンで遅いのはだめ データベースのパフォーマンス比較 計測したデータベース データベース名 タイプ 形態 評判 計測についての備考 SQLite RDB 組み込み ※2 おもちゃ、Android標準 JDBC操作 ※1 H2 RDB 組み込み ※2 組み込み最速 JDBC操作 ※1 Derby RDB 組み込み ※2 Java標準で

    パフォーマンス比較 Cassandra、Mongodb、SQLite、H2、MySQL、Postgres - cypher256's blog
  • データベース負荷テストツールまとめ(5) - SH2の日記

    というわけで、JPOUG> SET EVENTS 20120721 | Japan Oracle User Groupに参加して発表をしてきました。通常の勉強会と比べて発表者と聴講者の一体感を増すための工夫がなされていて、とても良かったと思います。有限コーヒーかと思ったら無限ビールだったのも驚きです。JPOUGの運営メンバのみなさま、会場を提供してくださった日オラクルのみなさま、当日お越しいただいたみなさま、どうもありがとうございました。 私のセッションでは、データベース負荷テストツールまとめ(5)と題して過去4回分のまとめと自作ツールの紹介をさせていただきました。JdbcRunnerはOracle DatabaseMySQLとPostgreSQLの間でTPC-BとTPC-Cの性能比較ができる唯一のオープンソースソフトウェアですので、いろいろ試してみていただければと思います。試した結果

    データベース負荷テストツールまとめ(5) - SH2の日記
  • 第1回 経験年数と所属組織はどのようにスキルの差に影響してくるか? | gihyo.jp

    DBエンジニアの皆さん、自分のスキルに自信がありますか?「自分の強みと弱みを知っている」と言えますか? 確信をもって「大丈夫」と言える人はほとんどいないでしょう。筆者も長い間、さまざまな人の相談にのってきましたが、スキルの悩みは永遠のテーマと言えます。 そもそも“⁠DBエンジニア⁠”といっても、 プロジェクトDB担当(アプリ、基盤) DBコンサル DBの運用担当 サポート系 など、さまざまな職種があります。おのおの得意不得意があるのは当然です。 そこで、経験年数、所属組織、職種、所属企業の種類(エンドユーザ側か、SI子会社か、派遣か、など)といったデータも取るように調査してみました。 対象としたスキルと定義 今回どのようなスキルを対象としたか、項目と定義をまとめたのが表1です。レベル1が初心者、3がほぼ一人前、5がエキスパートや指導者という感じです。 ITの項目が多くを占めますが、コミュ

    第1回 経験年数と所属組織はどのようにスキルの差に影響してくるか? | gihyo.jp
  • 「達人が語る こんなデータベース設計はヤダ!」へ参加してきました - 虎塚

    あの『達人に学ぶDB設計 徹底指南書』を書かれたミックさんが講演されると聞いて、Club DB2さんの勉強会に初めてお邪魔してきました。 「第146回 達人が語る こんなデータベース設計はヤダ!」 https://www.ibm.com/developerworks/wikis/display/clubdb2/146 非常に面白く、勉強になりました。せっかくなので、備忘メモをupしておきます。 (内容に誤りがあったり、もし掲載自体に問題があったりしましたら、修正・削除しますのでお知らせください。>関係各位) 編 (追記)発表資料にリンクしました。 http://d.hatena.ne.jp/mickmack/20120714/1342246442 ミックさんが「これだけは覚えて帰ってください」とおっしゃった3つのポイントを引用します。 トレードオフ うまい話には裏がある。 物理 vs 論

    「達人が語る こんなデータベース設計はヤダ!」へ参加してきました - 虎塚
  • e-GovのとあるDBを開示請求したら全レコード入りのDBDUMPが送られてきた

    「e-Gov 行政文書ファイル管理システムを構成するデータベースファイル」を開示請求したら、12GBもある全レコードが入ったOracleのテーブルダンプが総務省から送られてきました

    e-GovのとあるDBを開示請求したら全レコード入りのDBDUMPが送られてきた
  • MySQLのEXPLAINを徹底解説!!

    以前、MySQLを高速化する10の方法という投稿で「EXPLAINの見方についてはいずれ解説しようと思う」と書いてしまったので、今日はその公約?を果たそうと思う。 MySQLのチューニングで最も大切なのは、クエリとスキーマの最適化である。スキーマの設計は一度決めてしまうとそのテーブルを利用する全てのクエリに影響してしまうためなかなか変更することは出来ないが、クエリはそのクエリだけを書き直せば良いので変更の敷居は低い。そして遅いクエリをなくすことは、性能を大幅に向上させるための最も有効な手段である。従って、アプリケーションの性能を向上させたいなら、まず最初にクエリのチューニングを検討するべきなのである。 最適化するべきクエリはスロークエリログやクエリアナライザで見付けられるが、ではそのようなクエリが見つかった場合にはどのように最適化すればいいのか?そのためにはまず現在どのようにクエリが実行さ

    MySQLのEXPLAINを徹底解説!!
  • DB設計時のサイズ見積もり - よねのはてな

    ここのところ、javaccとawsに魅了されている米林です。 よく使うDB(Oracle/MySQL/PostgreSQL/SQLServer)における設計時のサイズ見積もりで使うサイトの備忘録。 あとは、OracleからのPython情報。 Oracle Oracle 物理設計 http://www.oracle.com/technology/global/jp/columns/skillup/oracle9i/index.html 領域サイズ見積もり http://otn.oracle.co.jp/document/estimate/index.html OTNにログインする必要ありますがオンラインで見積もりが出来ます。 アカウント持っていない人は、この見積もりツールを使う目的でアカウントを作ってみてはいかがでしょうか。 OLTP系とDWH系においてブロックサイズを考慮し、DWH系はブ

    DB設計時のサイズ見積もり - よねのはてな