Skip to content

Commit

Permalink
Add mysql.md
Browse files Browse the repository at this point in the history
  • Loading branch information
itsminadesu committed Apr 25, 2019
1 parent 1228a8e commit ea284f9
Show file tree
Hide file tree
Showing 3 changed files with 80 additions and 7 deletions.
11 changes: 9 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,8 +54,13 @@
## 8. Learn Relational Databases
- [x] DB
- [x] [DBさらっとまとめ](/db.md)
- [x] SQL
- [x] [Progate](https://prog-8.com/languages/sql)
<br><br>
- [ ] Oracle
- [ ] MySQL
- [x] MySQL
- [x] [MySQL 入門](https://qiita.com/okamuuu/items/c4efb7dc606d9efe4282)
- [x] [MySQLさらっとまとめ](/mysql.md)
- [ ] MariaDB
- [ ] PostgreSQL
- [ ] MSSQL
Expand Down Expand Up @@ -125,14 +130,16 @@
- [ ] Graph DB

## 23. All the things that weren't mentioned above
- [ ] DDD
- [x] マイクロサービス
- [x] [マイクロサービスさらっとまとめ](/microservices.md)
- [x] webpack
- [x] [webpackさらっとまとめ](/webpack.md)
- [x] Git
- [x] [意外と知らない? Gitコマンド 100本ノック](https://qiita.com/ueki05/items/5c233773e3186989bfd3)
- [x] [Gitでやらかした時に使える19個の奥義](https://qiita.com/muran001/items/dea2bbbaea1260098051)
- [ ] DDD
- [ ] オブジェクト指向
- [ ] オブジェクト指向設計実践ガイド ~Rubyでわかる 進化しつづける柔軟なアプリケーションの育て方

<br>
Keep Exploring👋
Expand Down
11 changes: 6 additions & 5 deletions db.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,17 +74,18 @@ DBさらっとまとめ
行はレコード、列はフィールドと呼ばれ、1行に1件のデータが格納されて1レコードとなる。この時、各レコードのデータは必ず**一意**にならないといけない。

RDBが使われる理由は大きく分けて
- データの重複を避けられる
- 検索能力が高い
- データの重複を避けられる<br>
- 検索能力が高い<br>

の二つがあり、1つ見つかればそこで検索作業を終了できるため、データを検索するスピードを上げることができる

# 4. データベース管理システム(DBS)とは
**データベースを効率よく管理、運用するソフトウェア**のこと
(図書館の司書さんみたいな)
(図書館の司書さん的な)

特に、リレーショナルデータベース(RDB)を管理、運用するデータベース管理システムのことを**リレーショナルデータベース管理システム(RDBS**という
特に、リレーショナルデータベース(RDB)を管理、運用するデータベース管理システムのことをリレーショナルデータベース管理システム(RDBS)という

データベースは自動でデータを追加、更新、削除などの操作は行わないため、コンピュータのシステムに管理してもらおう!ということで、DBSは必要

# 5. おわりに
さらっとまとめたけど、DBへの理解が深まった
さらっとまとめたけど、DBへの理解が深まった
65 changes: 65 additions & 0 deletions mysql.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
MySQLさらっとまとめ

# 目次
1. そもそもDBとは
2. MySQLとは
3. MySQLの特徴
4. 参考文献
5. おわりに

# 1. そもそもDBとは
[こっち](/db.md)にまとめた

# 2. MySQLとは
> MySQLは、オープンソースで公開されている関係データベース管理システム (RDBMS) の一つである。
(Wikipediaより)

[MySQL](https://www.mysql.com/jp/)は世界で最も利用されている`データベース管理システム`。大容量のデータに対しても高速で動作し便利な機能がたくさんあるので非常に実用性が高く、またオープンソースなので非商用利用であれば無償で使用できるため、初心者でも導入しやすい。

![MySQL](https://www.sejuku.net/blog/wp-content/uploads/2016/07/mysql-logo-640x267.jpg)

# 3. MySQLの特徴
## 拡張性と柔軟性が高い
MySQLは小さいアプリケーションから巨大なアプリケーションまですべてに対応できるほどの拡張性をもっており、また複数のOS(Mac、Windows、Linuxなど)で利用可能

## 高性能
MySQLには`ストレージエンジン`(データベースを作成、更新、削除など基本的な操作を行うための中心の機能)が採用されており、アプリケーションの用途に応じてストレージエンジンの種類を選択することが可能

## 高い信頼性
MySQLは24時間体制の稼働を実現するためにさまざまな機能があり、バックアップ機能やリカバリー機能など、いざという時のために大事なデータを守ることができる

## トランザクション
MySQLには`トランザクション`(データの一貫性を保つために一連の処理が完了するまでデータを変更しないようにできる機能)をサポートする機能が多くあるので、完全にデータの一貫性を保つことが可能

## 強力なセキュリティ
データベースへのアクセス制御、安全な接続を保証するSSHやSSLといったセキュリティ技術をサポートし、またデータが第三者によって盗み見されることを防止する強力なデータ暗号機能も用意されている

## レプリケーション機能
MySQLには`レプリケーション機能`(データベースサーバー (マスター) のデータを1つまたは複数のデータベースサーバー (スレーブ) に複製すること)があり、負荷分散、バックアップ、スレーブでの情報分析などが可能になる

MySQLのレプリケーションには主に以下がある
```
- 非同期レプリケーション
マスターは、イベントがスレーブに届いたかは確認しない。マスターとスレーブのデータが違う可能性がある
- 準同期レプリケーション
マスターのトランザクションがコミットされた後、少なくとも1つのスレーブがイベントを受け取るまで待機する
- (完全)同期レプリケーション
マスターのトランザクションがコミットされた後、全てのスレーブがイベントを受け取るまで待機する
```

## その他
オープンソースで基本的に無料であること、便利な管理ツール(phpMyAdmin、MySQL Workbenchなど)が充実していることなど...

# 4. 参考文献
https://ja.wikipedia.org/wiki/MySQL<br>
https://www.kagoya.jp/howto/webhomepage/mysql/<br>
https://www.sejuku.net/blog/9021#MySQL<br>
https://blog.codecamp.jp/what_is_mysql<br>
https://itpropartners.com/blog/8423/#MySQL<br>
https://qiita.com/okamuuu/items/c4efb7dc606d9efe4282

# 5. おわりに
普通にすごい、便利。MySQLに慣れるには普通に手動かすだけだ 💻

0 comments on commit ea284f9

Please sign in to comment.