HTTP/2とQUICに対応したWebサーバ「LiteSpeed」が4月後半にリリースがされました。
LiteSpeedは軽量高速のWebサーバでApacheの設定ファイルと互換性があるため、Apacheからの移行がスムーズに行えるようです。
ところで、HTTP/2は数年前から騒がれていたので分かる方も多いかと思いますが、GoogleのQUICプロトコルとは何でしょうか?
HTTPやHTTP/2がTCPをベースとしたプロトコルに対して、QUIC(Quick UDP Internet Connections)は、名前の通りUDPをベースとして開発された新しいWeb向けのプロトコルとなります。
従来のWebの伝送プロトコルは、信頼性を確保するため、TCP上に構築されており、接続開始するには3Wayハンドシェイクが行われています。
また、安全に通信を行うために暗号化されたHTTP接続(HTTPS)を行うためには、TLSとのネゴシエーションが必要となり、上記以上のやり取りがネットワーク上で行わることとなります。
それに対して、GoogleのQUICプロトコルでは、UDPプロトコルの持つ速さ(TCPに比べてネゴシエーションが少ない)と、TCPプロトコルの信頼性を組み合わせた新しいプロトコルとなっています。
※QUICの仕様を知りたい方は、こちらを参照してみて下さい。
詳しい内容はこのサイトを見てほしいですが、通信品質が悪い環境においてQUICは相当有用と言えそうです。
2018/04/19にMySQL8.0がGAリリースされました。
ダウンロードサイトはこちらへ
MySQL8の代表的なモノをいくつか紹介します。
・MySQL5.7よりも最大2倍も高速になりパフォーマンスが向上
これが地味に一番うれしい改善だと思います!
・デフォルトの文字セットのサポートがlatin1からutf8mb4に変更
utf8mb4は文字あたり最大4バイトを使用し、絵文字をサポート。
・JSONデータに対応したNoSQL機能の搭載
スキーマを持たないJSONデータにも対応し、トランザクション処理をサポートしつつ、リレーショナルデータとJSONドキュメントを単一のデータベースで扱える
・Window Functionsのサポート(クエリ結果の行のグループに対して集計を実行し、各行に対して結果を生成することができる機能のこと)
集計・分析には、新しくサポートされた関数以外に、COUNT()、SUM()など従来からある集約関数(GROUP BYによるもの)があるが、順位づけに使える関数がサポート。
ゲームやランキングシステム等の順位づけに便利!!
- RANK()
- DENSE_RANK()
- ROW_NUMBER()
他のWindow Functionsについてはこちらを参照下さい。
使い方の非常に分かり易かったサイトはこちらです。
・NOWAIT と SKIP LOCKED のサポート
SELECT ~ FOR UPDATE NOWAITを指定するとロック解除を待機せずすぐエラーを返す(OracleのNOWAIT指定といっしょ)
SELECT ~ FOR UPDATE SKIP LOCKEDはロック中の行はスキップして抽出しない
他にも多数あるので詳細はこちらを参照下さい!



