2019年10月23日水曜日

SQL標準はどこから

SQLはPostgreSQLばかり使っていて標準は少ししか意識していなかったり。
標準化もされていて、SQL99などという名前は聞いたことがあるかもしれないが、今は2003とか2011とかもっと新しいものまである。標準SQLというらしい。
最新版から見ればいいのか、ある程度古いところから差分を追いかけるのがいいのか。
Javaなどのオブジェクト指向に対応したというSQL99あたりから見てみることにしたい。

PostgreSQL 7.3のドキュメントによるとSQLはISO/IEC 9075 Database Language SQLというところが標準らしい。
SQL-92くらいでは実装は最小から大きいところまで分かれていたが大きすぎたので、SQL99ではコアとその他に分けてみたとか。
  • 標準SQL ISO/IEC 9075 Database Language SQL
    • SQL-92
    • SQL99 Javaなどオブジェクト化対応
    • SQL:2003
    • SQL:2011
    • SQL:2016
あまり関係ないがJDBCにオブジェクトを突っ込めそうなライブラリを作ってみた。
JSONでマッピング系を作っていたので流用した結果 Object → JSON → Map → JDBC(SQL) という変換をかけている。未実装だらけなので(仮)。要望等(謎)ないだろうから完成形にするつもりはあまりない。
 GitHub SoftLibD3BIF
動作確認はPostgreSQL 11のみ。
table定義を書かずに主キーなどはアノテーションをクラスに埋めるだけでも可。
そのうちJSONなど中間外して効率化するかもしれない。
EJBとかどうなったんだろか。

2019年10月9日水曜日

ASUS TUF X470 PLUS GAMING + Ryzen 5 2600X にメモリ増設

Ryzen 5 2600Xも快適ながら、早速DDR4メモリ、M.2 NVMeを入手したので増設してみることにしてみたのだけどちょっとエラーも多かったという話。
  • KLeVV CRAS C700 M.2 PCIe 3.0x4 NVMe1.3 480GB
  • KLeVV DDR4-3200 CL16-18-18-38-54 1.350 Vくらい
環境
  • AMD Ryzen 5 2600X
  • ASUS TUF X470-PLUS GAMING
  • キングストン HyperX DDR4-3200 CL16-18-18-36-74 1.350 Vくらい
  • とらんせんど M.2 PCIe 3.0x4 NVMe 1TB
  • GeForce RTX 2070 OC品

KLeVVというメーカーはメモリメーカーのSK Hynixの子会社っぽいところらしいのでほぼSK Hynix純正といえるようなところらしい。
Ryzen 5 2600X といえばメモリはオーバークロックメモリが標準的とも言えるような状態なので、最初からDDR4-3200なオーバークロックメモリを使っていた。というよりDDR4-3200(8GBx2)なメモリを入手したので新PCを組んだ。
今回さらにDDR4-3200(8GBx2)とM.2 Gen.3 x4 480GBを足して試してみることにした。

初回撃退


試用的なメモリなので8GBx2構成。どうせなら8GBx4にして使いたいのでそういうふうに使おうと単純に足してみたところ、起動はするものの、謎のエラーだらけで挫折。
増設して最初はそのまま何の問題もなく起動。
UEFIの設定を開くと設定が一部だけ大きな方向へ変わった。保存して再起動するとしばらくは起動するが不安定に。
2つのメモリ、CPU IDではtRAS、tRCが違うので CL16-18-18-38-54くらいになっているらしい。たぶん。

メモリスロットにうまく刺さっていなかったのか。それでもLEDが点灯するので動いていたとは思うとややコワイ。DDR4-3200 8GB x2構成に戻してしばらく使ってみたが安定した。
M.2を2つめの端子に入れようと思ったがネジとネジの台座がないので挫折。M.2に新しくOSを入れて怖くない環境でテストしてみてからにしよう。
というわけで。

準備。

microSDXCにWindowsイメージを焼き。 メモリを全部抜き、KLEVVのメモリだけを投入。M.2をKLEVVに交換。そのままWindows 10 Proをインストール。
シリアル番号は必須になっていた。が、省略も可能でマザーボードなどの環境情報から引き継がれたようだ。
インストール前に2、3の質問、インストール中にさらに2、3の質問あり。ネットワーク系は前の方にまとめるのは無理なのか。
起動してみると安定している様子。GPUなど各種ドライバなども中途半端に入れてみるが問題ないことを確認。
この段階での予想はメモリ混載がコワイのか? という感じ。

挑戦

KLEVVのメモリ単体では問題なかったのでこれまで使っていたキングストン HyperXと混載してみることに。今度は落ちた状態とは逆の順番で差し。起動してみるもHyperX刺さっていなくて光らず…コワイ。刺し直した。
UEFIの方は後から刺したスロットの方(若い番号の方)のXMP情報に合わせられた。遅い方に合わせるわけではなかったらしい。CL16-18-18-36-74 ということでいいのか?
結果安定しているように見える。何が悪かったのか。
M.2をトランセンドに戻して起動。落ちる様子がないので安定しているらしい。
半日ぐらいしたらエラー吐いた…。

RaspberryPi 4 Model B 日本発売

RaspberryPi 4 Model B 4GBモデルがKSYから発売された。 今回の製造はOkdo社、RSコンポーネント関連の企業らしい。 電源、ケースなどのセットモデルもあるが、2GB、1GBモデルは未定となっている。 その他の取り扱いがありそうなショップはスイッチ...