回答編集履歴
2
文章を修正
test
CHANGED
@@ -10,7 +10,7 @@
|
|
10
10
|
|
11
11
|
|
12
12
|
|
13
|
-
MySQLという
|
13
|
+
MySQLという大規模RDBMSはC++で書かれたものです。
|
14
14
|
|
15
15
|
MySQLは起動させるとプロセスに常駐し、
|
16
16
|
|
@@ -18,17 +18,27 @@
|
|
18
18
|
|
19
19
|
|
20
20
|
|
21
|
-
この30
|
21
|
+
この3306番ポートに通信を行う手段(プロトコル)は仕様として公開されており、
|
22
22
|
|
23
|
-
その
|
23
|
+
その通信手段を再現出来るのであればMySQL純正クライアントである必要はありません。
|
24
24
|
|
25
25
|
参考記事: [MySQL道普請便り - 第78回 MySQLプロトコルのハンドシェイクパケットを眺めてみる](https://gihyo.jp/dev/serial/01/mysql-road-construction-news/0078)
|
26
26
|
|
27
27
|
|
28
28
|
|
29
|
-
だったら、
|
29
|
+
だったら、Node.jsで通信手段をエミュレートしてもいいよね?
|
30
|
+
|
31
|
+
そしたら得られた文字列を必死に解析せずに、ダイレクトに配列で扱えるし!
|
30
32
|
|
31
33
|
こういう思想で作られた、MySQLと対話するモジュールがnpmのmysqlです。
|
34
|
+
|
35
|
+
|
36
|
+
|
37
|
+
この考え方はNode.jsに限りません。
|
38
|
+
|
39
|
+
PHPやRuby、Python、Java……という感じで多くの流行っている言語がこの手法を採用しています。
|
40
|
+
|
41
|
+
これらの言語のMySQLモジュールもトランシーバーですので、結局の所、本体が別途必要です。
|
32
42
|
|
33
43
|
|
34
44
|
|
@@ -38,7 +48,7 @@
|
|
38
48
|
|
39
49
|
なのでNode.js用の小さな通信モジュールはnpmからインストール出来ますが
|
40
50
|
|
41
|
-
別途正規のMySQLをインストールしなければなりません。
|
51
|
+
別途正規のMySQL本体をインストールしなければなりません。
|
42
52
|
|
43
53
|
|
44
54
|
|
@@ -82,9 +92,9 @@
|
|
82
92
|
|
83
93
|
|
84
94
|
|
85
|
-
|
95
|
+
ほぼ全てのコードがmysqlそのまま使えますし、
|
86
96
|
|
87
|
-
Promiseという新しいJavaScriptの記述方法にも対応しています。
|
97
|
+
Promise版という新しいJavaScriptの記述方法にも対応しています。
|
88
98
|
|
89
99
|
なので今からmysqlを使う意味はNode.jsのv6系(サポート終了済で使っている人居ない)で動くくらいしかありません。
|
90
100
|
|
1
トランシーバーへのリンクを追加
test
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
|
7
7
|
大規模なRDBMSのMySQL本体そのものではなく
|
8
8
|
|
9
|
-
「MySQL本体に向かって問い合わせを行う小さなトランシーバー」みたいなものです。
|
9
|
+
「MySQL本体に向かって問い合わせを行う小さな[トランシーバー](https://www.jenix.co.jp/best15/)」みたいなものです。
|
10
10
|
|
11
11
|
|
12
12
|
|