#author("2024-03-31T16:43:25+09:00","default:irrp","irrp")
#author("2024-04-14T10:11:05+09:00","default:irrp","irrp")
→データ処理関連

→データ移行

→AWSストレージ関連


#contents


*サブトピック [#hbf3594c]
-データベース用語
-データベース設計
-[[SQL一般]]
-Oracleに関するメモ
-MySQL関連
-SQL Server関連
-SQL Server 2005
-MSDEメモ
-O/Rマッピング
-ADO.NET関連


*DB一般 [#yecf30d3]
-[[NewSQLはデータベースに革命を起こすか - NetflixにおけるCockroachDBのユースケース|ミック>https://note.com/mickmack/n/n45ded3a4e342]] 2024.4

-[[データベース研修 - Speaker Deck>https://speakerdeck.com/techtekt/detabesuyan-xiu]] 2024.1

-[[データベーススペシャリストというキャリアと生存戦略 ~10年後も変わらないこと、変わること / career-spiral - Speaker Deck>https://speakerdeck.com/soudai/career-spiral]] 2023.9

-[[SQL Training 2021 - Speaker Deck>https://speakerdeck.com/ymiyake/sql-training-2021]] 2023.5
--SQLというタイトルだが、RDB全般の話がまとまっている

-[[データベースを遅くするための8つの方法>https://zenn.dev/koduki/articles/d3e8984f420b370681f9]] 2023.4

-[[データベースの仕組み(アーキテクチャ)をざっくり理解する>https://zenn.dev/revenuehack/articles/dc5a901fbe90e6]] 2023.3

-[[2.8億レコードのDBテーブルのスキーマ変更をした話 - Adwaysエンジニアブログ>https://blog.engineer.adways.net/entry/2023/01/20/120000]] 2023.1

-[[historical trend of the popularity ranking of database management systems>https://db-engines.com/en/ranking_trend]] 2022.9
--Oracle, MySQL, SQL-Server の順

-[[主要RDBMS製品のアーキテクチャ比較 | コーソルDatabaseエンジニアのBlog>https://cosol.jp/techdb/2022/09/rdbms_architecture_comparison/]] 2022.9

-[[自作RDBMSやろうぜ!(出張版) - Qiita>https://qiita.com/ryo_grid/items/f23bb5846558698ec4cc]] 2022.5

-[[メルペイDataPlatformのCDC DataPipeline | メルカリエンジニアリング>https://engineering.mercari.com/blog/entry/20220420-5d89f9d9c7/]] 2022.4

-[[無料のフルマネージドなグラフデータベース「Neo4j AuraDB Free」発表。5万ノード、17万5000リレーションシップまで利用可能 − Publickey>https://www.publickey1.jp/blog/21/neo4j_auradb_free5175000.html]] 2021.11

-[[DBMSをGoで実装してみた>https://buildersbox.corp-sansan.com/entry/2019/10/24/110000]] 2019.10

-[[データベースアプリケーション開発を炎上させる負のスパイラル>http://nippondanji.blogspot.jp/2013/11/blog-post.html]] 2013.11.21

-[[リレーショナル・データベースの世界>http://www.geocities.jp/mickindex/database/idx_database.html]]

-[[衝撃的なデータベース理論・関手的データモデル 入門>http://d.hatena.ne.jp/m-hiyama/20130211/1360577040]] 2013.2.12

-[[DBの世界に起こる変革>http://aufdai.blog69.fc2.com/blog-entry-325.html]] 2012.1.7
--今後はオンメモリDBベースのアーキテクチャの製品が主役になる可能性もある。

-[[Welcome back to the TRANSACTION!>http://d.hatena.ne.jp/okachimachiorz/20120916/1347799619]] 2012.9.16

-[[第1回 駆け足で見るGoogle Cloud SQLでできること>http://www.atmarkit.co.jp/fdb/rensai/googlecloudsql/01/01.html]] 2012.2.27

-[[現場で使えるデータベース設計>http://www.edifist.co.jp/books/dbdesign/index.html]]

-[[データベースエンジニアへの道>http://www.atmarkit.co.jp/fdb/index/subindex/db_enginer_subindex.html]]
--[[素早く正規形を見抜く実践テクニック>http://www.atmarkit.co.jp/fdb/rensai/db_enginer03/db_enginer03_1.html]]

-[[データベーススペシャリスト試験過去問題>http://blog.livedoor.jp/megafriday/]]

-[[DWHアプライアンスでOLTPを動かしてはいけない>http://itpro.nikkeibp.co.jp/article/COLUMN/20100713/350215/]] 2010.7.27

-[[テーブルの商演算について>http://kominato.exblog.jp/2098676/]]

-[[どうも世間では、思ったよりDBエンジニアが不足しているようだ>http://mubou.seesaa.net/article/112885900.html]] 2009.1.20

-[[世界でもっとも簡単なデータベースBlist>http://journal.mycom.co.jp/news/2008/02/01/032/index.html]]
-[[なぜ彼はLAMPを捨てXML DBに走ったか>http://www.atmarkit.co.jp/fdb/rensai/viper01/viper01_1.html]]
--要件の曖昧なケース、仕様変更に強い
-[[データベースにまつわる怖い話>http://itpro.nikkeibp.co.jp/article/COLUMN/20070320/265660/?ST=develop&P=1]]
-[[Visual Studio 2005によるWindowsデータベース・プログラミング>http://www.atmarkit.co.jp/fdotnet/vblab/vsdbprog_01/vsdbprog_01_01.html]]
-[[読み物:リレーショナルデータベースの世界:http://www.geocities.jp/mickindex/database/idx_database.html]]
--なぜNOT NULL制約をつけないとダメか?など


*NewSQL [#k7fdba74]
-[[2020年現在のNewSQLについて - Qiita>https://qiita.com/tzkoba/items/5316c6eac66510233115]] 2020


*NoSQL [#rb478e65]
-[[NoSQLって何? - Qiita>https://qiita.com/kenogi/items/4a278eb03f3a145df84c]] 2023.9
--スケーマレス
--スケーラビリティ
--高パフォーマンス
--柔軟なデータモデル
--リアルタイム処理

-[[オープンソースのクラスタリング / Infinispanとは>https://www.ossnews.jp/oss_info/Infinispan]] 2022

-[[[ElasticCache] RedisとMemcachedの違いとは。 - Qiita>https://qiita.com/kmmz/items/e4b496b42207783515a0]] 2022.1
--Redis	バックアップを始め、様々な機能が欲しい場合はこちら
--Memcached	マルチスレッドが必要な場合はこちら

-[[「実践Redis入門」所感 ~「E.G.コンバット」の観点から語る~ | フューチャー技術ブログ>https://future-architect.github.io/articles/20230221a/]] 2023.2
--[[【書籍】実践Redis入門>https://amzn.to/3IFtQW7]]

-[[【入門】Redis - Qiita>https://qiita.com/wind-up-bird/items/f2d41d08e86789322c71]] 2020

-[[RDBの限界とNoSQLの登場>https://qiita.com/1amageek/items/3dbbc3112493a73880d0]] 2019.11
--トランザクションに最適化されて設計されたDBでは性能劣化が始まり、システムはデータベースに対しスケール性能を必要とし始める。
--1998年Carlo StrozziによってSQLのない軽量なDBを推進する運動として"NOSQL"という言葉が使われる。
--2009年にサンフランシスコで開かれたミートアップで「NoSQL」がハッシュタグとして使われ、次々生まれることになるRDBでないデータベースは「NoSQL」と呼ばれることになる。
--Facebookは2008年7月にCassandraをオープンソースソフトウェアとして公開し、2009年3月からApache Incubatorプロジェクトとなる。DynamoDBのような高い可用性とスケーラビリティを保持している。
--DBのボトルネックは二つ
---一貫性を担保するためストレージを共有する構成を取る必要があること
---SQLが強力で柔軟なため複雑な処理を実行できてしまうこと
--NoSQLではQueryに頼らない設計をせざるを得ない。NoSQLではClient Side Joinを推奨しておりJOINをClient側で行う。これによりデータベースの負荷を分散している。
--RDBは構造化データを表現しにくい
--Googleは2011年スケーラビリティと一貫性を両立した分散データストアMegastoreを発表。
--Google Cloud Platform(GCP)では、Cloud Datastoreというデータストアを利用することができ、Cloud Datastoreは、内部的にMegastoreを用いて実装されている。





*Tool [#vd29f4cb]
-[[tconbeer/harlequin: The SQL IDE for Your Terminal.>https://github.com/tconbeer/harlequin]] 2024.1
--The SQL IDE for Your Terminal.

-[[「A5:SQL Mk-2」という変態(←褒め言葉)なソフトがあった>https://blogs.itmedia.co.jp/noubiz/2013/08/a5sql_mk-2.html]] 2013

-https://dbeaver.io/
--Free multi-platform database tool for developers, SQL programmers, database administrators and analysts. Supports all popular databases: MySQL, PostgreSQL, MariaDB, SQLite, Oracle, DB2, SQL Server, Sybase, MS Access, Teradata, Firebird, Derby, etc.

-[[データベースもアジャイル開発に対応したい>http://www.atmarkit.co.jp/fdb/single/08s_jiemamy/jiemamy1.html]] 2008.9.4
--http://www.jiemamy.org/
--Eclipseのプラグインとして動作するDBリファクタリングツール

-[[ 汎用コネクションプーリングサーバ「SQLrelay」 - 導入編>http://journal.mycom.co.jp/column/yetanother/023/]]
--http://sqlrelay.sourceforge.net/
-[[Hypertable>http://www.hypertable.org/]] GoogleのようなハイパフォーマンスDBのクローンとのこと
-[[Object Browserオンラインマニュアル:http://www.sint.co.jp/siob/manual.asp]]


*トランザクション [#t01752f8]
-[[データベースのロックの基礎からデッドロックまで>https://zenn.dev/gibjapan/articles/1d8dfb7520dabc]] 2023.4

-[[DB外の副作用をトランザクションから分離しよう / Isolate out-of-DB side effects from transactions - Speaker Deck>https://speakerdeck.com/ohbarye/isolate-out-of-db-side-effects-from-transactions]] 2023.4

-[[DBのロックについてあまり意識したことがない人に向けた実は覚えておきたいロックについての知識 - CARTA TECH BLOG>https://techblog.cartaholdings.co.jp/entry/2022/12/14/113000]] 2022.12

-[[排他制御のためだけに渋々 Redis 使ってませんか? - Speaker Deck>https://speakerdeck.com/mpyw/pai-ta-zhi-yu-notamedakenishibui-redis-shi-tutemasenka]] 2022.11
--ロックするものがない場合に、Redisのアトミック機能よりもDBMSのアドバイザリーロック機能を使った方がよいという話

-[[ダーティリード、ノンリピータブルリード、ファントムリードを起こして挙動を確認してみた|SHIFT Group 技術ブログ|note>https://note.com/shift_tech/n/nb6fa93598ced]] 2022.8

-[[トランザクションの隔離とは>http://www.interdb.jp/techinfo/postgresql/p-2-07.html]]
-[[同時実行@宇宙仮面のC#プログラミング>http://uchukamen.com/SQL2005/Lock/Lock.htm]]
-[[トランザクション分離レベル 読み取り一貫性のサポートとロックエスカレーション>http://www.microsoft.com/japan/sql/facts/compare/03.mspx]]


**ANSI標準の4つの分離レベル(アイソレーションレベル) [#d822f138]
-[[MySQLのトランザクション分離レベルとアノマリーについて調べてみた>https://zenn.dev/team_soda/articles/24ea9290ea4c13]] 2023.12

-READ UNCOMMITED
--もっとも安全度低い
--他プロセスがトランザクション中にUPDATEしたデータをCOMMITする前にSELECT(ダーティリード)可能

-READ COMMITED
--デフォルトの分離レベル。引数なしでBeginTrans()するとこれになる(SQL Server 2005)
--ダーティリード不可
--自分のトランザクション中に、自分がSELECTしただけのレコードは他プロセスがUPDATE-COMMITできる(=反復不可能読み取りが可)
--つまり、自分のトランザクション中のSELECT結果の一貫性が保証されない
--READ_COMMITED_SNAPSHOTオプションの状態によって動作が異なる
---OFFのとき、トランザクションにひっかかったクエリは待たされる
---ONのとき、トランザクションにひっかかったクエリは、トランザクション開始前の状態を取得し、ロック待ちをしない

-REPEATABLE READ
--ダーティリード不可
--自分のトランザクション中に、自分がSELECTしただけのレコードも他プロセスがUPDATE-COMMITできない(=反復不可能読み取りが不可)
--自分のトランザクション中に、自分がSELECTした条件にマッチするレコードをINSERT可能(=ファントム発生可)
--つまり、自分のトランザクション中のSELECT結果は、その時点で存在していたレコードについては同じであることが保証されるが、存在していなかったレコードが追加されている可能性はある

-SERIALIZABLE
--ダーティリード、反復不可能読み取り、ファントム発生すべてが不可
--トランザクションのSELECT結果は外部からの影響を一切受けないことが保証される



*DBプログラミング一般 [#f6a74c98]
-[[SQL挿入処理の高速化:http://codezine.jp/a/article.aspx?aid=390]]


*SQL Server [#z4739722]
-SQL Server関連
--T-SQL関連メモ
--MSDEメモ


*Oracle [#c0ef73e5]
-Oracleに関するメモ
--SQL関連メモ(Oracle)
--SQL*Plus関連
--Oracleバックアップ関連まとめ


*PostgreSQL [#i941c6fb]
-[[Windows 11 端末でコマンドプロンプトを使って psql コマンドだけをサイレントインストールしてみた | DevelopersIO>https://dev.classmethod.jp/articles/silent-install-of-psql-command-using-command-prompt-on-windows-11/]] 2023.3

-[[GitHub - snaplet/postgres-wasm: A PostgresQL server running in your browser>https://github.com/snaplet/postgres-wasm]] 2023.3

-[[あまり知られていないPostgreSQLの機能 | POSTD>https://postd.cc/postgresql-unknown-features/]] 2022.4

-[[オープンソースデータベース標準教科書 -PostgreSQL- (Ver1.0.0)>http://www.oss-db.jp/ossdbtext/text.shtml]] 2011.10.6

-[[PostgreSQL Tutorial>https://www.postgresqltutorial.com/]] 2024.3
-[[PostgreSQL基礎知識ほか>http://www.interdb.jp/techinfo/postgresql/index.html]]
-[[全文検索エンジンLudia:http://sourceforge.jp/projects/ludia/]]
-[[PostgreSQL入門:http://www.stackasterisk.jp/tech/dataBase/postgresql02_01.jsp#1]]


*SQLite [#ba171e57]
-[[【Python3】SQLite3の基本操作をまとめてみた |SHIFT Group 技術ブログ>https://note.com/shift_tech/n/nc217a24e7838]] 2023.12

-[[初心者のためのSQLite入門 | DevelopersIO>https://dev.classmethod.jp/articles/introduction-to-sqlite-for-beginners/]] 2023.11

-[[SQL50本ノックをSQLite3 Fiddleで試す - Gマイナー志向>https://matsuu.hatenablog.com/entry/2023/03/12/185206]] 2023.3
-http://ja.wikipedia.org/wiki/SQLite
-http://www.sqlite.org/


*Jet/MDAC/DAO [#t92c7d06]
-[[DAOによるDBの最適化>http://www.moug.net/tech/acvba/0070005.htm]]
--DBEngine.CompactDatabase()を使う

-Order byをつけなくても順序が保証されることを期待してはいけない。
--DAOを使ってMDBのSelectを行う場合、対象のテーブルにテーブルレイアウト上でキー項目が設定してあったとしても、レコードをキー順に取ってくることは保証されない模様(ORDER BYで指定すれば当然保証される)。特にVistaの場合。キー順になることが保証されると思っている人が多いので注意されたし。

-[[MDAC2.8 download>http://www.microsoft.com/downloads/details.aspx?familyid=6C050FE3-C795-4B7D-B037-185D0506396C&displaylang=ja]]
-[[Jet4.0データベースの動作環境を最適に保つ方法>http://support.microsoft.com/kb/303528/ja]]
-[[MDAC 2.6 以降には Jet または Desktop ODBC Driver が含まれない>http://support.microsoft.com/kb/271908/ja?spid=1596&sid=global]]
-[[MDAC のバージョンを確認する方法>http://support.microsoft.com/kb/301202/ja?spid=1596&sid=global]]
--1.ComponentCheckerというツールを使う
--2.以下のレジストリを確認する
 HKEY_LOCAL_MACHINE\Software\Microsoft\DataAccess\FullInstallVer
-[[Microsoft Jet 4.0 データベース エンジン用の最新の Service Pack の入手方法>http://support.microsoft.com/kb/239114/]]

→Office関連メモ


*HSQLDB [#i7fc63d7]
-[[H2 database>http://www.h2database.com/html/frame.html]]
--[[紹介記事>http://journal.mycom.co.jp/special/2006/jpa/002.html]]

-http://hsqldb.sourceforge.net/
-[[HSQLDBの使い方>http://www.wakhok.ac.jp/~tomoharu/tokuron2003/hsqldb/]]
-[[EclipseとHSQLDB>http://www.ibm.com/developerworks/jp/opensource/library/os-echsql/]]
-[[HSQLDBのセットアップ>http://www.thinkit.co.jp/free/tech/3/7/1.html]]


*DB2 [#p5146ec9]
-[[無料で利用できる Db2 Community Edition の概要・制限・ダウンロード方法 | PORTABLECODE.INFO>https://portablecode.info/db2-community-edition-download/]] 2023.4

-[[Db2のREORGの基本 REORGってなんで必要なの? - Qiita>https://qiita.com/chirotaro/items/184ea88cd0604887e5d1]] 2022.10

-[[Investigating SQL performance by using EXPLAIN>https://www.ibm.com/support/knowledgecenter/en/SSEPEK_11.0.0/perf/src/tpc/db2z_useexplain2capturesqlinfo.html]]
--[[PLAN TABLEの各カラムの意味>https://www.ibm.com/support/knowledgecenter/SSEPEK_11.0.0/usrtab/src/tpc/db2z_plantable.html]]

-[[Db2 Express-C 10.5 for Windows クイックインストール>https://developer.ibm.com/jp/technologies/databases/articles/installwin-v105/]] 2020.10
--Db2 Express-Cは有償のDb2 Expressとほぼ同じ機能を持っていながら、無料で使用することができるエディション

-[[DB2の環境構築手順をコマンド単位で丁寧に書いてみる>https://qiita.com/bython/items/5d1a73c718ae08edb797]] 2019
-[[ローカルに存在するDBをカタログする>http://db2.jugem.cc/?eid=181]] 2004
-[[DB2のシステムカタログ>http://javawock.blog.shinobi.jp/db-%20db2/db2%E3%81%AE%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%82%AB%E3%82%BF%E3%83%AD%E3%82%B0]] 2009
-[[アプリエンジニアが現場でよく使うDB2コマンド>https://qiita.com/sooogle/items/95d88facaf31f010ea05]] 2020.10
-[[DB2 knowledge center>https://www.ibm.com/support/knowledgecenter/ja/SSEPGG]] 


*その他 [#b8000306]
-[[ゲームチェンジャーと噂のCloudFlare D1を性能検証してみた | DevelopersIO>https://dev.classmethod.jp/articles/cloudflare-d1-performance-survey/]] 2022.12

-[[PlanetScaleというサーバレスDBが凄く勢いのあるサービスらしいのでQuick Startやってみた - Qiita>https://qiita.com/tak001/items/cfbaa9dcb542929ff235]] 2022.2

-H2
--http://www.h2database.com/html/main.html
--軽量のインメモリDB,Java前提

-[[使ってみようH2 Database Engine>http://news.mynavi.jp/articles/2006/10/12/h2/]] 2006.10


-[[How To Use IndexedDB – Simple(st) Example>http://greenido.wordpress.com/2012/10/05/how-to-use-indexeddb-simplest-example/]] 2012.10.5

-HiRDB
--http://www.hitachi.co.jp/Prod/comp/soft1/hirdb/

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS