タグ

dbに関するfashiのブックマーク (144)

  • SQL学習オンラインサービス「Start-SQL」をリリースしました - GoTheDistance

    こんな感じで、ブラウザでSQLを書いて環境構築一切不要でSQLを学べるというWebサービスです。 今北産業 SQL言語のみをサポートしています。 環境構築一切不要で、無料でお試し出来ます。 コンテンツには無料と有料の2つがあり、有料版は”買い切り”で、5000円です。全てのコンテンツがお楽しみ頂けます。 圧倒的にアカウントを買うニーズが強かった 2019年8月頃に「研修サービスのプラットフォームとして」告知をしたのですが、結論から言うと「講師や研修は別にいらん、アカウントだけ売ってくれ」が個人 / 法人共に、圧倒的に多かったため、会員登録/ログイン/マイページ/コンテンツ購入/パスワードリマインダなどの機能を別途付与して、Webサービスとしてリリースしました。 買い切りにした理由 コンテンツを定期的に追加する予定が全く無いためです。月額制にするならほっといてもコンテンツが増えていかねばなり

    SQL学習オンラインサービス「Start-SQL」をリリースしました - GoTheDistance
  • ERDをPlantUML形式で自動生成するツールを作った - くりにっき

    PlantUML + ERDでPlantERDです github.com モチベーション PlantERDの特徴 使い方 出力するテーブル数の制限について 技術的に頑張ったこと テストのこと Foreign keyで隣接している別のテーブルを探す方法 複数DB対応のつらみ 追記:2019/12/13 9:45 モチベーション 既存プロダクトへの不満が一番大きいです。 https://github.com/voormedia/rails-erd は出力が画像なので取り回ししづらい そもそもRails前提なので他言語とかでは使えない https://github.com/schemaspy/schemaspy も悪くなさそうなんだけどここまでリッチじゃなくていい テーブル数個の小規模アプリならいいんだけど、中規模以上のアプリで使うと人間が読むに耐えないERDが生成されて精神が崩壊する 僕は初め

    ERDをPlantUML形式で自動生成するツールを作った - くりにっき
    fashi
    fashi 2019/12/13
  • そろそろSQLのウィンドウ関数を理解したい - 連載1/3話 - Qiita

    はじめに データ分析とデータ品質改善に従事してきた筆者が、SQLを用いた分析の基である「ウィンドウ関数」の使い方とデータ品質の調査改善を行う手法をまとめてみようと思います。 こちらの記事は、SQLの知識向上と振り返りを主題としているので、ABC分析、バスケット分析、RFM分析などの「データ分析の手法」について説明している記事ではありません。(反響やコメントによって別投稿するかもしれません) 背景 SQLエンジニアの大多数が利用しており、多くの方はWebサービス開発などでデータの登録画面や検索画面を作る際にSQLを利用したり、またはシステムの運用保守で障害の原因調査のためにSQLを利用して原因を特定すると思います。そのため、テーブル結合・サブクエリ・集計関数といったSQL構文は理解されている人が多いと思いますが、分析関数を理解して使っている人となると、ぐっと減ると思います。 私は以前、社

    そろそろSQLのウィンドウ関数を理解したい - 連載1/3話 - Qiita
    fashi
    fashi 2019/11/20
    これが出来る前は同じテーブルをjoinしたりサブクエリにしてたんだっけか
  • ソシャゲエンジニアの自分が開発に必須だなと思った知識(MySQL編) - Qiita

    この記事の目的 自分は、とある会社様の元でソシャゲAPI 開発をさせていただいています。 ソシャゲは、リリース時やイベント時などに集中アクセスされやすく、負荷軽減の知識がない状態で開発を行ってしまうと、運用時に緊急メンテ祭りになりやすいジャンルかなと思っています。 これまで培ってきた MySQL の知識ですが、脳内メモリ量の関係上、暗記できないのでメモしておこうというのが主目的です。 ここ数年ほどソシャゲ開発しかしていないため、偏っている感がある内容ですのでご注意ください。 概要 ストレージエンジンは InnoDB。メインで扱っている MySQL バージョンは 5.6。 記事の内容ですが、これらのキーワードを見て、おおよそ分かる方は読む必要はないかと思います。 インデックス系 クラスタインデックス カバリングインデックス EXPLAIN で注意するべき値 トランザクション系 MVCC

    ソシャゲエンジニアの自分が開発に必須だなと思った知識(MySQL編) - Qiita
    fashi
    fashi 2019/09/25
    「MySQL 5.8 から降順インデックスが実装された」のあたりで頭が追いつかなくなったので読むのやめた
  • MongoDBの様なNoSQLに勢いがあるのは何故ですか?SQLと比べてどんな利点や欠点がありますか? - Quora

    回答 (3件中の1件目) ハイプサイクルという概念をGartnerグループが提唱してまして、様々な流行りスタリのサイクルを分析する標準的な方法となっています。 ハイプとは過度な期待や熱狂を意味する言葉です。一発屋芸人の人気のカーブみたいなもので、テツandトモみたいに安定する場合と、消えていくものがあります。芸人ではありませんがDA PUMPは一茶の人間性もありまして、次は厳しいけど定着すると思っています。 なんだかのトリガーで評価が上がり始め、ピークを迎える。その後評価が下がっていき、底を打つと少し上がって定着するという経過をたどるとしています。これと同じモデルで、流行りのハイテク...

    MongoDBの様なNoSQLに勢いがあるのは何故ですか?SQLと比べてどんな利点や欠点がありますか? - Quora
    fashi
    fashi 2019/08/27
  • https://developer.hatenastaff.com/entry/2019/01/15/120431

    https://developer.hatenastaff.com/entry/2019/01/15/120431
    fashi
    fashi 2019/01/15
    MyISAM→InnoDBはもっとたくさんの罠がある気がするが
  • 日付・時間の文字列操作にはDATE_FORMATよりEXTRACTのほうが便利そう。 - Continue(s)

    チームメンバーの書いたクエリで見覚えのない関数が使われいたので調査。 MySQL :: MySQL 5.6 リファレンスマニュアル :: 12.7 日付および時間関数 EXTRACT関数を使うとDATE値の結果から一部を抽出できる。 よく見るDATE_FORMAT関数を使うより文字列を解釈せずに必要な部分を抽出できるため早いらしい。 mysql> SELECT EXTRACT(HOUR_MINUTE FROM now()); +---------------------------------+ | EXTRACT(HOUR_MINUTE FROM now()) | +---------------------------------+ | 2353 | +---------------------------------+ 1 row in set (0.00 sec) mysql> S

    日付・時間の文字列操作にはDATE_FORMATよりEXTRACTのほうが便利そう。 - Continue(s)
    fashi
    fashi 2018/09/18
  • 「SQLite」データベースの管理ツール「PupSQLite」がメジャーバージョンアップ/64bit環境では64bit版が動作するように。複数のCSVを単一テーブルにまとめる機能も

    「SQLite」データベースの管理ツール「PupSQLite」がメジャーバージョンアップ/64bit環境では64bit版が動作するように。複数のCSVを単一テーブルにまとめる機能も
  • MySQL 8.0登場!立ち止まることを知らない進化はこれからも続く。

    ゴールデンウィークはいかがお過ごしされただろうか。今年は天気も良く、行楽日和が続いたように思う。 さて、先日MySQL 8.0が正式にリリースされた。少し時間が経ってしまったが、今回はMySQL 8.0の新機能について紹介したい。コミュニティ版のダウンロードはこちらから可能だ。 ひとつ前の正式バージョンはMySQL 5.7だったのだが、MySQL 8.0は非常に大きなリファクタリングが含まれており、5.x台のバージョン番号を捨て去ろうという話があった。そこで、次のメジャーバージョンは最初の桁を増やすということになったのだが、MySQL 6.0は過去に既に存在し、買収などの騒ぎで開発が頓挫してしまった経緯がある。7.xはMySQL NDB Clusterと被っている。というわけで、5.7の7の部分の次という意味合いもあって、8.0というバージョン番号を引っさげ、満を持しての登場となった。その

    MySQL 8.0登場!立ち止まることを知らない進化はこれからも続く。
    fashi
    fashi 2018/05/07
    SET PERSISTいいな / クエリキャッシュないって大丈夫なんか…設計時に気をつけるにしてもライブラリ側で頼ってそうな
  • MySQLのクエリの良し悪しはrows_examinedで判断する - かみぽわーる

    仕事やらなんやらでMySQLのクエリの良し悪しを判断する必要があるとき、EXPLAINの内容だけだとどのぐらい良くなったり悪くなったのか分からないので SET long_query_time = 0; してrows_examined (そのクエリでrows_sent行の結果を返すために何行に触ったのか)も一緒に提示するようにしている(少なくともMySQL 5.7時点ではrows_examinedはslow_query_logでしか確認できないはずperformance_schemaが有効ならevents_statements_historyやその仲間たちで確認できるとのこと*1 MySQL :: MySQL 5.6 リファレンスマニュアル :: 22.9.6 パフォーマンススキーマステートメントイベントテーブル)。 例: 上の例のBeforeは、もともとDBAが書いた温かみのあるSQLでO

    MySQLのクエリの良し悪しはrows_examinedで判断する - かみぽわーる
    fashi
    fashi 2018/03/22
  • 「SQLアンチパターン」を避けるためのチェックリスト①(DB論理設計編) - log4ketancho

    ずっと前から積ん読状態だった「SQLアンチパターン」を読みました。 何年積んでたか分からないSQLアンチパターン読み終わったー。噂に違わずいいですねー。もっと早く読むべきだった。— @ketancho (@ketancho) 2018年3月6日 噂通りとても良いで、まさに「エンジニアとしての血肉」と言えます。1, 2年目の頃に読んでおくべきだったなーと少し後悔しています。 SQLアンチパターン 作者: Bill Karwin,和田卓人,和田省二,児島修出版社/メーカー: オライリージャパン発売日: 2013/01/26メディア: 大型購入: 9人 クリック: 698回この商品を含むブログ (46件) を見る 読んで終わりだと身につかないと思うので、自分なりのチェックポイントを言語化しておこうと思います。長くなってしまったので、章ごとに4つに分けたいと思います。この記事はその第一弾と

    「SQLアンチパターン」を避けるためのチェックリスト①(DB論理設計編) - log4ketancho
    fashi
    fashi 2018/03/08
    グッドパターンの方が後で困ると思ってしまうな…
  • MySQLのFLOAT型を使う理由が見つからない件 - hnwの日記

    MySQLのデータ型としてFLOAT型という型があるのですが、これを採用するのは混乱の元ではないか?と感じたので、その詳細を紹介します。 そもそもこの話のきっかけは「MySQLで6桁までの小数点を丸めずに扱うならFLOAT型を使うべき理由」という記事が目に止まったことです。それなりに人気を集めている記事のようですが、私の読んだ限りではFLOAT型を使うだけの根拠が文中から読み取れず、さらに類似する一次情報や英語記事が全く見つからなかったので、真偽が怪しい情報だと感じました。 その後、MySQL上で実験したりCソースコードを読んでみたりした結果、私の得た結論は真逆のものになりました。MySQL警察の方や浮動小数点数警察の方、追試や反論など頂けると助かります。 MySQLのFLOAT型とは MySQLのFLOAT型は原則としてIEEE754浮動小数点数単精度型(32bit)で実現されます*1。

    MySQLのFLOAT型を使う理由が見つからない件 - hnwの日記
    fashi
    fashi 2017/12/22
  • Amazon Auroraの先進性を誰も解説してくれないから解説する - Qiita

    TL;DR; Amazon AuroraはIn-Memory DBでもなくDisk-Oriented DBでもなく、In-KVS DBとでも呼ぶべき新地平に立っている。 その斬新さたるやマスターのメインメモリはキャッシュでありながらWrite-BackでもなくWrite-Throughでもないという驚天動地。 ついでに従来のチェックポイント処理も不要になったのでスループットも向上した。 詳細が気になる人はこの記事をチェキ! Amazon Aurora Amazon AuroraAWSの中で利用可能なマネージド(=運用をAWSが面倒見てくれる)なデータベースサービス。 ユーザーからはただのMySQL、もしくはPostgreSQLとして扱う事ができるのでそれらに依存する既存のアプリケーション資産をそのまま利用する事ができて、落ちたら再起動したりセキュリティパッチをダウンタイムなしで(!?)適

    Amazon Auroraの先進性を誰も解説してくれないから解説する - Qiita
    fashi
    fashi 2017/12/13
    わからなすぎて眠くなった
  • PostgreSQLとMySQL、使うならどっち? データベース専門家が8つの視点で徹底比較!|ハイクラス転職・求人情報サイト AMBI(アンビ)

    PostgreSQLMySQL、使うならどっち? データベース専門家が8つの視点で徹底比較! オープンソースのデータベースとしてよく比較されるPostgreSQLMySQL。どんな長所・短所があるのでしょう? それぞれの専門家による対談で明らかにします。 エンジニアとして働いていると必ず直面する悩み。それは、「どのリレーショナル・データベース(以下、RDB)を選ぶのが最善なのか?」です。 RDBごとに長所と短所は異なっています。そのため自社サービスにマッチしないRDBを選んでしまうと、それがボトルネックとなり開発・運用にトラブルが生じるケースは少なくありません。 なかでもよく比較検討されるのが、PostgreSQLMySQL。ともにオープンソースRDBのデファクトスタンダードであり、高い性能と数多くの機能を持っています。 では、両者は具体的にどのような長所・短所があるのでしょうか。そ

    PostgreSQLとMySQL、使うならどっち? データベース専門家が8つの視点で徹底比較!|ハイクラス転職・求人情報サイト AMBI(アンビ)
    fashi
    fashi 2017/12/11
    mysqlに慣れててたまにpostgresql使うと、如何に普段適当なクエリ書いてたか思い知らされるんや
  • ドラゴンボールZ ドッカンバトル | バンダイナムコエンターテインメント公式サイト

    AppleAppleのロゴは、米国およびその他の国で登録されたApple Inc.の商標です。App StoreはApple Inc.のサービスマークです。 Google Play および Google Play ロゴは、Google LLC の商標です。 ©バードスタジオ/集英社・東映アニメーション ©Bandai Namco Entertainment Inc. ※画面は開発中のものです。

    ドラゴンボールZ ドッカンバトル | バンダイナムコエンターテインメント公式サイト
  • InnoDBの8KBの壁にぶち当たったら。 – sawara.me

    InnoDBの行の最大長は約8KBらしい。 意外と少ない。。。 運用中のサービスがこんなエラーを吐いていました。。。 [code gutter=”false”] Got error 139 from storage engine [/code] マジですか。これが噂の「InnoDB 8KBの壁」ですか。。。 設計段階であればテーブル縦分割とかテーブル構造自体を変えちゃえ!ってなるかもしれないですが、運用中のサービスですし、できるだけ全体へのインパクトは少なくしたい(アプリケーションは改修したくない)。って時にテーブルのROW_FORMATを変更して対応しましたよ、って話です。 「ROW_FORMAT=DYNAMIC」または「ROW_FORMAT=COMPRESSED」を使おう! そうです、結論から言ってROW_FORMATを変更することで対応したんです。 ROW_FORMATについてMyS

    InnoDBの8KBの壁にぶち当たったら。 – sawara.me
    fashi
    fashi 2017/10/24
  • MySQL - InnoDB データファイルをテーブル単位に変更!

    mk-mode.com Linux, Debian, IT, Server, PG, Ruby, Rails, Python, C++, Fortran, PC, MariaDB, math, GIS, etc... MySQL でストレージエンジンに InnoDB を指定していると、データファイル・ログファイルが作成されます。 デフォルトでは、データファイル(ibdata1)はデータベースが複数あっても1つのファイルとして作成されます。 これだと、データベースが複数あったりサイズが膨大になったりすると、パフォーマンスが悪くなるだけでなく管理も煩雑になってしまいます。 設定ファイルに innodb_file_per_table を設定することで、このデータファイルをテーブル単位で管理できるようになります。 ただ、既にデータベースを InnoDB で運用している場合は、今後作成するテーブルに

    MySQL - InnoDB データファイルをテーブル単位に変更!
  • MySQLのibdataファイルを複数表領域に変更する – OpenGroove

    InnoDBのibdataファイルのサイズは、放っておくと相当肥大化してしまう。10G、20Gなんてフツーにいってしまう。30Gくらいになる例もある。もっと大きくなろうと思えばなれるんだろう。まったく怪物みたいなヤツだな・・・。 と、いうわけで、通常のibdataファイルを複数表領域にしてみる。複数表領域にするときのパラメータはinnodb_file_per_table。通常のibdataファイルでDBが稼働している状態から、複数表領域に変更するときの手順メモ。詳しい仕様の話は割愛させていただく。早く寝たいので。 以下、my.cnfの記述例一部。複数表領域に変更してもibdataファイルは消えない。autoextend:max:4096Mなどと記述することでサイズを制限しておく。 innodb_data_file_path = ibdata1:100M:autoextend:max:409

  • 企画や営業など非エンジニア職がSQLを勉強したらメリットばかりだった話 - paiza開発日誌

    Photo by Linux Screenshots こんにちは、谷口です。 あなたの会社ではSQLを使える人の割合はどれくらいでしょうか? ITエンジニアであれば多くの人が日頃から使っているSQLですが、それ以外の職種では「SQLを使えないので、データがほしいときはエンジニアにお願いしている」という人も多いかと思います。 ただ、自分でSQLを使えないと、今すぐデータがほしいのに確認できるまで時間がかかったりして不便なことも多いですよね。また、エンジニアにとっても、開発中にちょっとしたデータ取得がいくつも差し込まれたり、「データが思っていたのと違った」と言われてやり直しになったりするのはストレスになってしまいます。 paiza社内でも、かつてはそんな状態でしたので、社内で非エンジニア職向けにSQLの勉強会を実施するようになりました。現在は、営業・企画・事務局など、さまざまな職種の人たちも自

    企画や営業など非エンジニア職がSQLを勉強したらメリットばかりだった話 - paiza開発日誌
    fashi
    fashi 2017/06/20
    どこで活用するんだろ。Access? MySQL解放してるの?
  • phpやmysql情報  [mysql]mysqlのint(11)のカッコ内の数値の意味

    結論から、mysqlのint(11)のカッコ内の数値は意味がありません。 まず以下の2点をおさえてください。 ・int(8)のカッコ内の数値は桁数である(バイト数ではない)。 ・int(8)としても、記憶領域を変えることは出来ない(intは10桁、tinyintは3桁)。 ということです。 ですので、int(11)としても、10桁しか入りません。 ただ、UNSIGNED ZEROFILLを付けたとき、0を補完する桁数としてはカッコ内の数値は意味を持ちます。 例えば、int(8)でUNSIGNED ZEROFILLのとき、111と入力すると、 00000111 となります。 テーブル設計時のお役にたてば幸いです。

    fashi
    fashi 2017/05/09