MANABIYAで学んだことのよな落書き帳

3月23日に 【国内最大級のエンジニア向け技術祭典】MANABIYA -teratail Developer Days-で聴講しました。
いずれも良いお話が聞けたと感謝しております。確かに学び舎でした。
「MANABIYAで学んだこと」を書きたくも、ほぼメモったことの書き起こしです。


2時間目 インフラ
分散処理とコンテナ化インフラの面白い関係

用いられたスライド:MANABIYA.tech にいってきた&しゃべってきた - たごもりすメモ
このスライドが公開されることを事前にお聴きしており、それを見ただけでわかるようなことはメモしていません。発言を正確に反映したものではありませんし、ほんの一部です。

  • 本題の前の話
    • YAMLで書いたファイルはそのままでjarファイルのパス切り替えのデプロイだと、設定のみの変更がしにくい。それを再起動時に反映したいもののみDockerイメージにして、再起動で変更の反映ができる。
  • 本題
    • 今日の話は方向性や目指すべき点の話
  • モダンなシステムの共通点
    1. どのサーバーか意識せずにデプロイの頻度を高める
    2. プロセスを止めて変えて起動
    3. たとえば1プロセス30秒かかったら他で起動するとか特にクラウド事業者にとって都合の良い話
    4. ローカルファイルシステムを前提にせずネットワーク上の他のDBとかRESTで保存先を指定するのみとか
  • 分散処理の物語
    • ごく最近、OSS、CassandraとかHDFS、YARN,Mesos,k8sとか出てきた。
    • 分散技術は昔からあるが、広く使われていなかった。
    • 最初はストレージ -> 処理 -> リソースの順で実装され、どんどんコンテナ化され使われるようになった。
    • どこで何をするかを考えないといけなくなる。
    • できるソフトウエアは使われる。
  • モダンなシステムでのデータの配置
    • Dockerでできるのはプロセスの分離
    • k8sはデータは含まれず、ストレージの課題は解決していない。
    • クラウドならRDSとかS3とか使っているはず。
    • Logging は fluentdとかを想定
    • ストレージのライフタイムは数年、SLAも高くないと。
    • じゃぁ何かは、答えがない。わからないから、工夫のしがいがある。
    • コミュニティに体験をシェアしましょう !

3時間目 DB
AI系技術の一般化でデータベースに求められること

用いられたスライド:DB改造屋雑記: MANABIYA でお話する資料
スライドを読むのみで理解できるように作られています。私が印象に残った言葉のみ。

  • 説明としてAIとは違う言葉があるはず。AIは未来にしかないのだから。
  • 研究者とモデルとリソースはあるが、精度の高いデータが必要なのが今。データのあてがないと、収集コストでお金が尽きる。
  • 「ないことをする」に意味がある。

4時間目 DB
CrossSession

ステージ上の4名のみでなく、会場内でお話された内容を聞き取りながら、雑にメモした内容です。発言を正確に反映したものではありませんし、ほんの一部です。

  • 30年後のDB
    • ハードウエアの進化に追随するものが出てくるだろう。NVMや1000 Core対応、PG-Stromとか。
    • MySQLないですよね。Oracle Databaseがあれば良いんじゃないですか。
    • MongoDBとかRedisとかはスーパーグローバル変数があれば良かったのかなと。
    • RDBMSではないデータストアとか。
    • 30年前を想像すると、今あるのは、これからもあるんじゃないの。
    • データの型が違う ? DBがなくなる ?
    • RDBMSが残るのかというと、集合が主ではなくなるかも。
    • トランザクションを人間が書くのは難しいよね。
    • 住み分けはどうなっていくか。
    • 複数からの更新が入らないならスケールするようになっている。
    • KVSは得意な領域が限られる。
    • お金がどこに流れるかによって変わるのかも。
    • 細分化されるだろう。
    • 間のインターフェースがSQLなのが変わるかも ? SQLの次がないと変わらないんじゃ ? トランザクションのないデータストアにSQLかぶせるとか。
    • FDW ? PostgreSQLをHUBとして NoSQLと連携。トランザクションは、受け取ったところで管理するが FDWでは難しい。
    • NoSQLのトランザクション ? トランザクションがないから良いのに。
  • リファクタリング
    • DBは触りたくない。塩漬け。技術的負債になっているが。
    • バージョンアップ時のデータは、PostgreSQLは論理ダンプ取って入れ替えていく。
    • MySQL再帰テストありき。
    • 10年ぐらい使おうと思ったらコード読んだ方が速いよ。
    • DBは政治が大事。現状に不満が無ければバージョン上げなくて良いんでは。
    • MySQL 5.5より前はサポートしたくない。塩漬けにも限度がある。
    • OSのバージョンをあげるのと同じタイミングとかで良いのでは ?
    • 一番寿命が短いのがハードウエア。
    • クラウドは事業者がソフトウエアのバージョンを上げる。
  • DBの選び方
    • この機能ないからダメ以外は、なんでもよいのでは ?
    • PostgreSQLだとParallel Queryとか FDWとか実装されてきているし。
    • MySQLの中で一番良さそうなのを選ぶ。InfiniDBとか。
    • 身近に助けてくれる人が多いものを選ぶのが良いかも。困った時に相談相手がいると、大怪我しにくい。
    • 良い点ばっかりだとアレなんで悪い話もちょっと。
      • MariaDB ColumnStore、InfiniDBだと、エラーメッセージの対応がキツイ。調べるとGitHubか自分のブログとか。
      • pgupgradeは良い評価を聴かない。PostgreSQLはバージョン違いのレプリケーションができない。PostgreSQLの拡張はメンテされなくなるときがあり、コミュニティがメンテしているものが良い。

Windows / Mac版「Minecraft」のダウンロードコードを使うには

何年か前から、体験版とか無償版と言われている「WINDOWSMINECRAFT: JAVA EDITION」をダウンロードして、利用しています。

Minecraft (PC/Mac 版)

Minecraft (PC/Mac 版)

この度、この"Windows / Mac版「Minecraft」のダウンロードコードが印字されたカード"を購入しました。
カードが届き、裏面の「コードを使うには」の記述にそって account.mojang.comにログインしたものの、どこからコードを入力して良いのか判断しかねたため、別の手順でコードを入力しました。
その手順を、とても参考になった Amazonで買える。Minecraft PC(Java)版の購入方法、インストール、設定を画像付きで解説 | ナポアンドットコム を引用させていただきながらメモします。

  1. https://minecraft.net/ja-jp/Webブラウザからアクセスし、 表示されたページ の "MINECRAFTを購入 JAVA EDITION (PCとMAC) - ¥3000"をクリックします。
  2. 表示されたページ https://minecraft.net/ja-jp/store/minecraft/?ref=h の”既にアカウントをお持ちの場合には、ログインしましょう!”の"ログインしましょう"をクリックします。
  3. 表示されたページ https://minecraft.net/ja-jp/login/?ref=gm にて"電子メール"と"パスワード"を入力し、"ログイン"をクリックします。
  4. https://napoan.com/pc-newway-tobuy/#dlcard-name に書かれている "プレイヤー名を決めよう"のページが表示されます。*1
    ここから先は、 https://napoan.com/pc-newway-tobuy/#dlcard-name に書かれている内容をご覧いただきながら、内容に沿って入力とクリックをして、”この画面が出てきたら、PC(Java)版の購入は完了です。”まで進みます。*2
  5. Mincraftを起動します。ログインしたままになっている場合はログアウトします。そしてログインします。

*1:ここがポイント

*2:プレイヤー名を入力して「コードと交換する」をクリックして、コードを入力して、「交換する」をクリックします。

Introducing Oracle Database 18c


Introducing Oracle Database 18c by Oracle Database Product Management 2018/02/16 に公開


Oracle Database Product Management - YouTube への新しい動画の追加で知りました。


今、 https://www.oracle.com/index.html を見ると、Full Oracle Database 18c details -> Oracle Database 18c : Now available on the Oracle Cloud and Oracle Engineered Systems | Oracle Database Blog February 16, 2018 By: Guest Author と、 Guide to new features -> Oracle Database Database New Features Guide, 18c, E88909-01, February 2018
*1 1 Oracle Database Release 18c New Features が案内されています。


Oracle Database Technical Architectureなど、過去のリリースに捉われずに一から覚えるコンテンツも用意されていますね。



Maria Colgan氏*2から、以下の様に新リリースモデルでの最初のバージョンであり、 https://support.oracle.com/epmos/faces/DocumentDisplay?id=2285040.1 にリリースモデルの詳細が書かれていることが案内されています。

This is the first version of the database to follow the new yearly release model and you can find more details on the release model change in the Oracle Support Document 2285040.1 .

Before you freak out about the fact you haven’t even upgraded 12.2, so how on earth are you ever going to get to 18c – Don’t Panic!

Oracle Database 18c is in fact “Oracle Database 12c Release 2 12.2.0.2”, the name has simply been changed to reflect the year in which the product is released.

So, what can you expect?

Oracle Database 18c Released | SQLMaria Posted on February 16, 2018 by Maria Colgan


正確なリリース番号が知りたくなるわけでして。


Oracle Database Database Administrator’s Guide, 18c, E80561-01, February 2018 / Part I Basic Database Administration / 1 Getting Started with Database Administration / 1.4 Identifying Your Oracle Database Software ReleaseDescription of "Figure 1-1 Example of an Oracle Database Release Number" からは、“18.1.0.1.0”のようです。


“Now running on Oracle Database 18c”な Oracle Live SQLで確認すると“18.1.0.0.0”のようです。*3
Release Update versionが 1でなく 0です。


ちなみに

Provision Autonomous Data Warehouse Cloud - YouTube by Oracle Learning Library 2018/02/16 に公開
こちらを拝見すると、“Software Release: 18.1.1”という文字も見受けられます。
Release Update Revision versionが 0でなく1です。
もっとも、今回は Autonomous Data Warehouse Cloud Service(ADWC)のリリースの案内ではなく、あくまでも Oracle Database 18cのリリースの案内です。

Tim Hall氏*4 からも Oracle Database 18c Released : How to Get Started | The ORACLE-BASE Blog Posted on February 17, 2018 において“Oracle Database 18c is Oracle 12c Release 2 (12.2.0.2)”、“Oracle Database 18c is Not an Autonomous Database”、“Oracle Database 18c : Cloud First”と強調されていますね。


さて、このリリースされた Oracle Database 18cの正確なリリース番号を無償で簡潔に知る方法は ?*5


そんな細かいことは気にせず、Oracle Database 18c : Now available on the Oracle Cloud and Oracle Engineered Systems | Oracle Database Blog およびリンクされている文書に、しっかり目を通すのが良いのでしょう。

*1:ORACLE Help Center Home / Database / Oracle / Oracle Database / Release 18 / Database New Features Guide

*2:https://twitter.com/SQLMaria/status/964547513804967936

*3:現在、私は“An unexpected internal application error has occurred.”でサインインできません……

*4:https://twitter.com/oraclebase/status/964822262238056449

*5:適用されているパッチの定義とIDを確認しないと、例外的にInventoryを書き換えないタイプの変更差分を除いて、同じバイナリを他の環境に用意できませんが、次善の策で調べられる限りのバージョン番号を揃えて環境を用意したくなるものかと思います。全部を、多種類ある中での特定サービスの、しかも最新リリースを利用されている場合を除いて、明確にして利用しますよね。