Hatena::ブログ(Diary)

日々の記録 別館

2016-08-01

今後はQiitaに移行します

これまで数年間、はてなを使っていましたが、今日からQiitaへ移行しようと思います。
幾つか理由はあるのですが、主な理由は

  • pre表示が今ひとつ見づらい
  • 画像貼り付けがちょい面倒
  • Qiitaのほうがリアクションよさげ

かなあ。

気が向いたら、ここに書いたエントリの一部をQiitaにも移行しようと思います
数年間ですが、お世話になりました。

2016-07-27

MongoDB最新動向

f:id:nuko_yokohama:20160727210355p:image

ということで、Database Lounge Tokyo #1 に落選したのですが、幸か不幸か同日・ほぼ同ロケーションの恵比寿MongoDB最新動向が開催されていたので、そっちを聞きに行くことにしましたよ。
MongoDBは2年くらい前にPostgreSQL JSONB型との比較ということで、MongoDB 2.4/2.6くらいを使ったんだけど、それ以降、あまり追っていなかったから、最新動向を聞いてみることにした。



MongoDB World 2016 キーノート報告

講師は鈴木いっぺいさん

CEOからのふわっとした話
  • MongoDB World、3000人くらい来場する。
  • 今年のキーワード "Giant Ideas" 大きなアイディア
    • スピード重視。いろんなデータを集めて早く分析し、AI/Deep Learningにかけたい。

  • MongoDBコンセプト
  • 事例紹介
  • MongoDB使われているよーという話。
    • MongoDBのユーザ数は増加。既に2000万DLされている。
    • 開発者数も増えている。アクティブ。
    • NoSQL内ではMongoDB過半数のシェア

CTOからの話
  • MongoDBコンセプト
    • 人間の考え方に近い⇒ドキュメント型
    • RDBコンセプト(CRUD)も取り込み

MongoDB 3.2の話
  • WiredTigerを取り込んだMongoDB 3.2の話。
    • Replica Set Election 1.7秒で投票完了。
    • ドキュメントバリデーションの追加
    • JOIN相当の$lookup, pipeline, 複数ストレージエンジンの採用。インメモリストレージなど。

MongoDB 3.4の話
  • 今年の後半にリリース?
  • Initial Sync、同期のパラレル化、途中再開を可能に。
  • Collation Per Operation
  • BI-Connector, Tableau等可視化ツールとの間の性能向上。
  • Compassスキーマ可視化
  • Read-Only View:データのマスキングもできる?
  • なんとグラフ検索ができるようになる! $Lookup の拡張(recursive lookup)
    • あれかなー、PostgreSQLでいうところのCTEっぽいやつ?非循環グラフとか限定されるのかしらん。
  • #facet 1つのクエリ内で複数のクエリを含められる?うーん、MongoDBそのものというより可視化の話なのか・・・?
  • Zones Sharding
    • 複数データを利用者近くに集中させるケース
    • 新しいデータと古いデータを分けるケース。

Compassの話
  • スキーマ分析という言葉から誤解していたけど、文書構造の分析ではなくて、データの値を分析するものか。
    • CompassではExplainの可視化もするので、開発ツールとしても有効。
    • Explainを元に性能改善する例
    • データ分析のデモ:1899年生まれのデータがある。間違いでは?⇒データ削除や編集のデモ。
    • Compass v1.3beta DL可能。

Atlasの話
ユーザ紹介
  • IBM
  • Comcast
    • 2700万ユーザ、1400万箇所のWifiスポット
    • CDN peek 30Tbit
    • オリンピック放映権を取得。10億ドルの投資
    • コンテンツ配信の場合、ピーク時対応が重要な問題。1秒に10万リクエスト。
    • LAST KNOWN GOODモデルの話。MongoDBはそれが非常にやりやすい。
    • Reuse Quivalency Principleの話。うーん、良くわからん。ACIDの話がここで出てくる。
  • CaptalOne (クレジット会社,米国第4位)
    • 金融ではなくIT会社であるという自負。
    • お金をより賢く使うソリューション提供
    • 銀行に対する期待が変わっている。いつでもどこでもバンキング
    • 大量のデータ。深い・多角的な分析
    • MongoDBを基盤としたHYGIEAという分析ダッシュボードを開発した。



MongoDBは迷走気味?

本題に入る前に、まさかの MongoDB World 2016 キーノート報告 をDisるとかw

  • MongoDBの2つの用途がある。これをごっちゃにできない。
  • 米国と日本で使い方違う説。
  • 日本ではアジャイル開発・半構造データ

  • そもそもMongoDBは分析用途ではない!
    • Mongoは小さいCRUDを大量に処理するのに向いているのでは?

なぜ分析に向かないか。

指向でない
SQLか書けない
機械学習計算ができない
Spark/Hadoop界隈と断絶している

  • MongoDBグラフは遅いんじゃね?
  • イケてる部分
    • スピード開発、Compass、MonfoDB Atlas 地図情報、



本題:MongoDB 最新情報

API
新しいCRUD
  • 3.0で4種類だったのが、3.2で大幅に増加した。
  • 明確に更新するドキュメント数がAPIでわかるようになった。

$lookup
  • Left outer join相当ができる。
  • 他のコレクションにクエリを投げつけているだけ。
  • ACIDないし、RDBの感覚で使うと痛い目見るかも。

アグリゲーションの性能改善
  • プライマリシャードに負荷集中というのを解消したらしい。
  • PoistgreSQLで言えばインデックスオンリースキャンっぽい動作の追加?

全文検索対応
高可用化の改善
  • レプリカセット構成の変更

Read Concern
  • 過半数にデータが更新されるのを待って読む機能・・・なんとなくわかったが難しい。
  • MongoDBのRollbackはRDBとは違う!
    • 切り離されたプライマリがセカンダリとして再接続するときに、旧プライマリにしかないデータをパージする処理(で、合ってるのかな?)

ストレージ(WiredTiger)
  • Version 2 MMAPベース
  • Version 3.0
  • Version 3.2
  • MMAP v1とは
    • ディスクにあるファイルをそのままメモリに乗せるというか、OSに任せている。
    • 更新は in place ⇒ 書き込みロックが必要。
    • V2.x系はデータベース全体、V3.0 ではコレクション全体のロック。
    • ディスク再配置時が問題。処理が重い。

  • WiredTiger
    • MVCC採用
      • 書き込み中に読み込みが待たされない。
    • ドキュメントレベルロックを実現
    • きちんとMongoDBストレージを管理。
    • チェックポイント時(ファイルへの書き戻しタイミング)にVACUUM相当の処理を行う。
    • ジャーナル有効化でWAL相当の永続化を行う。
    • インデックスとデータファイル間の同期のためにトランザクション処理。複数コレクション対応ではない。

他のストレージ
  • インメモリ
  • 暗号化対応のWiredTiger
    • 有償版のみ。

その他
QA.
  • MMAP v1 から WiredTigerへの切り替え⇒レプリカセット+ローリングを有効に使う。
  • V3.0⇒V3.2の性能改善効果って?
  • セキュリティ関連は?
    • 暗号化くらい?
  • バリデーションの記述はどの程度できる?
    • レンジやリストは可能。MongoQueryと同じ書き方と同じものができる。

最後に
  • はじめてのMongoDB の紹介。
    • アプリ開発者向けの本だよー。DBA向きではないっぽい。
    • じゃんけん大会で2冊デリバリ。残念ながらGetできず。

2016-07-06

DB Online Day 2016 データベースの「自由な選択」

ということで、どういうわけか今週も大崎に来てしまいました。
先週(OSSコンソーシアム総会)は大崎駅直結のゲートシティでしたが、今日は駅からちょっと歩いた場所にある大崎ブライトコアへ。

きちんとまとめになってないので、ちょい長いですが以下、時間があれば見てくださいませ。


DBMSの市場の現状と今後」〜このままOracleを使い続けるのか〜

  • 講師はiTRの生熊さん。
  • iTRは調査&コンサル会社。調査会社の立場からみた市場動向がテーマっぽい。

IT予算の傾向
  • IT予算比率は3%に満たない程度で横ばい。
  • ITの新規投資比率は低下傾向
  • IT戦略=売上増への直接的な貢献。コスト削減ではない。

ITの動向の重要度と伸び率
ビッグデータって本当?
  • 2014年のデータ流通量=14.5 EB.
    • 9年間で9倍以上に。
  • 今後は非構造化データが増えるのか?
    • センサ・画像データのような非構造化データが増えているのは事実。
    • しかし顧客データや経理データのような構造化データも増加はしている。
企業ITの現状
  • 増えないIT予算、増やせない新規投資、増加するシステムとデータ
  • 要するにIT部門はつらぽよ。
データ管理基盤の変遷
利用しているDBMSの種類と要望
DBMSに対する投資
  • 基本的には横ばい。しかし、半数近くは投資増加を考えている。
    • 企業規模が大きければ投資を増加しようと考える傾向がある。
  • 用途の主な3本柱。顧客管理、販売支援/営業支援、データ分析
デジタルイノベーションがもたらすもの。
  • データ/情報はますます重要に。
  • IoT(収集)→BigData(蓄積)→BI/AI/機械学習(分析)→ここから取り出した情報を活用する。
  • デジタルビジネス:データ・つながり・体験を価値として提供する。
DBMS管理からデータ管理へ
  • 会社にはデータオフィサーが置かれるだろう。
  • IT部門DBMS管理だけでなくデータそのものの管理へ。
  • クラウド化によりシステム管理自体が楽に。


ためらっていませんか?PostgreSQL適用 −押さえておきたいポイントと適用事例

OSS DBMSの活用状況
PostgreSQLですすめるビジネス・イノベーション
適用事例1
適用事例2
適用時のポイント
  • 移行の進め方
  • サポート期間(PostgreSQLの頻繁なバージョンアップ対応含む)
  • OSS製品組み合わせの担保
    • Symfoware Serverは周辺ツールもセットで担保している。


企業で使えるPostgresとは?EDB Postgresはなぜ企業で導入されるのか?

  • 前半の講師はEDB社の高鶴さん
    • (もしかして、今年の4月に問い合わせに対応してくれた人かな・・・)
    • まだEDBはシェアはそれほど高くはないが、今年になって引き合いが多くなってきた。
    • 某商用DBMSライセンス形態変更の影響か?と。
EnterpriseDBの紹介。
  • PostgreSQL、関連製品(EDB Postgres)の販売、サポート。
    • 運用ツール、連携ツールも開発、XAコネクタも予定。
  • PostgreSQL開発コミュニティへの参加も多数。
    • Amit, Bruce, Robert...
  • 製品ロードマップの公開
  • 24h365dサポート
  • Fixパッチの提供
  • Private Cloud, Public Cloudにも対応
  • EDB Postgres はPostgreSQLメジャーバージョンリリースから数ヶ月で対応。
PGDGとの関連
EDB Postgresの売り


  • 後半はアシストでの事例紹介
  • 講師は徳原さん。
採用傾向
  • EDB Postgres導入は成長傾向にはある。
  • Oracle DB EEかからの移行が主力。
  • 稼働環境は半分は仮想環境。
    • ポイントは割当CPUコアライセンス。ソケット数ではない。
    • 利用CPUコア数は半分が4コア。8コア〜36コアもそれなりに利用。
移行事例時の選定ポイント
  • 宅配事業向けの在庫管理システム
  • 電子基盤企業向けEDIシステム
    • ここも仮想基盤上でのコストが問題だった。
    • SQL互換率98%。移行が非常に楽だった。
  • ISPアカウント管理
  • 生産/販売/物流(後述)
  • IoT エネルギーマネージメントシステム
    • 新規システムでの採用
    • 日時:1280万件のセンサ情報収集
  • 店舗サポート・システム
    • Oracle EE RACからの移行
    • RACに相当する可用性を提供(Down time 50秒)
  • ANA ITコスト構造改革
OracleDBからの移行
  • 1400本のストアド・プロシージャ→97%互換
  • 新バージョンになればOracle互換機能は増えていく。
EDB Postgres採用にむけて
  • EDB Migration Toolkit
    • 移行成否、移行エラーを確認可能。
  • 移行体験サービス(有償)もある。
  • 移行アセスメント
    • 移行の難易度判定、コスト効果のレポート提示。


製品の組み込みDBPostgreSQL で!製品での PostgreSQL/PowerGres 採用事例のご紹介

  • 講師はSRA OSSの佐藤さん
    • あれ、以前と雰囲気が違う気が・・・
SRA OSSの紹介&自己紹介
PostgreSQLへの取り組み
組み込みDB(パッケージ製品用組み込みDB)
組み込みDBの要件
PowerGresの紹介
導入事例


スペシャル対談「石井達夫さんに訊く、PostgreSQLのこれまでとこれから −次期バージョン、PostgreSQL10.0はどこへ向かう?」

  • 今日のメインイベント。俺のタイピングが火を噴くぜ!
  • トーカーはSRA OSSの石井さんと、DBOnlineチーフキュレーターの谷川さん
  • DB Online立ち上げから5年ですか。
  • OSS DBMSの記事は結構人気のある長く読まれる記事。
  • 今回は公開インタビュー形式。

石井さんの自己紹介
PostgreSQLとの出会い
  • "PostgreSQL"の前から関わっていた。バークレー大学の"Postgres"プロジェクトの頃から。
  • ハワイ大学リポジトリの実装に関わっていた。RDBMS上にOO/グラフ的なものを作っていた。('92,93頃)
  • 帰国後、"Postgres95"に関するMLを立ち上げた。最初は数名くらいの有志から。
  • SRAの仕事として使いようになったきっかけは?
    • 1999年にPostgreSQLの仕事をするようになった。この年にコミッタ就任&JPUG設立
    • JPUGは当時は50人くらい。企業でも僅かに使い始めた。(6.5のころ)
  • 当時の苦労談
    • そもそも「オープンソースとは?」から説明
    • 最初はトレーニングから。人事系システムへの導入。
    • (当時、谷川さんはOracleにいたらしい)
  • PostgreSQLが広まるきっかけ
    • このころに本を書くようになった。これも普及に一役買ったかも。

OraclePostgreSQLの競合資料探したが日本にも米国にもなかった話
  • 実は日本はそのころからPostgreSQL先行国だった疑惑。

7.xの頃の苦労
  • このあたりで日本語対応を行った。
  • 他の言語をどうするのかは悩んだ。ネット経由でアジア圏の人に協力してもらった。

PostgreSQLイケるな?と思ったのはいつごろ?
  • 6.x のころはWALなかったし。性能は数tpsとかw
  • 2003年くらい(PostgreSQL 7.4くらい?)から使えそうな感触。
  • 7.4は結構安定したバージョン。ビジネスとして使うには良かった。
  • PostgreSQLが世に広まったのは、8.xのころという印象。
  • 日本はLinux普及が遅かった。だからWindows対応で広まったのでは。
  • (個人で気には8.3の自動バキュームなんだよなー)

レプリケーションの話
9.xでの性能向上の話。
  • HW/Linuxの向上も関わっている。
  • PC Unix(FreeBSD等)が広まったのも一因かも。

商用DBMSからの移行
  • 移行というより、新規にPostgreSQL導入という流れだった。

9.xの進化について
  • 若い開発者がどんどん入ってきたのは大きい。
  • 若者は失敗を恐れない。馬力もある。

PGEconsの話
  • ベンダーが寄り集まってもアウトプット出るの?という谷川さんの疑惑。そこを覆したのは凄い。
  • 会社同士の競合もあったかもしれないが、検証を共同で実施できた。
  • PGEconsのマンネリ化問題w
PostgreSQLの今の立ち位置
  • 日本でPostgreSQLが良く使われているのか?特異なのか?
  • 最近はそんなことはない。日本以外の国でも使われている。最近は、むしろ日本もっと頑張れ的な。

世界のPostgreSQLイベント
9.6は?10.0は?
  • 一応、9月か10月の予定。
  • 9.6は9.6のまま。10.0にはならない。次は10.0だろう。
  • じゃあ、10.0はどうなりそう?
    • そろそろ節目にきている。並列処理、クラスタリングがテーマではないか?
    • 過去にフォークしたクラスタリングプロジェクトは成功しているとはいえない。
  • 10.0=大きな変更というのは、並列処理というコアな部分の改善なので。

コミュニティ運営の課題
  • 古株の開発者と若手の開発者の意見の相違は、今のところうまくいってるように見える。
  • パッチを作る人は増えた。レビューア数が絶対的に足りない。対策中。
  • JSONなどコンサバでない機能の取り込みもPostgreSQLに入っている。これは世間の流れなのか、一部メンバが頑張っているのか。
    • JSON等はロシア開発者が頑張っている。データ型とかは受け入れられやすい。
    • (このへんは元々の拡張性の高さもあるよなー)
  • どんどんバグ出しをしてほしい。
  • PGEcons/CR部会でもそういう新機能への参画をするのか?
    • まずはTODOの整理から。

石井さんが気に入っているPostgreSQL
PostgreSQLコミュニティに参画してほしい人
PGConf.ASIA!


その他

  • 大崎駅周辺、探してみると意外と中華系ラーメン店多いのね。
    • 今日食べたのはモヤシソバ(720円)@一番

2016-07-01

OSSカンファレンス総会に行ってみた

今日は年休だったんだけど、OSSカンファレンスの総会があるということで大崎まで足を運んでみた。

総会そのものは興味ないのでパスしたが、後半のオープンソースコンテスト発表会には興味があったので、聞いてみることに。

  • 今回はPostgreSQL/DBMS関係の発表はないけど、こういうのって、普段の仕事でもなかなか聞けないからねー。
  • あとは、どういう人種(年代や会社、職種等)がこのコンソーシアムに参加しているのかを見てみたかった、というのもある。
  • (実は大崎私的な用事があったので、そのついでにOSSカンファレンスにも出てみたというのが真相に近い)

まあ、いろいろ分からないところも多かったが、こういう話も聞いておくのもたまにはいいかな。

なお、だからと言ってOSSコンソーシアムに入会するかと言われると・・・微妙ですなあ。
会社として参加するには、説得するのが難しそうだし、個人参加という感じの団体でもなさそうなので。


プログラミングコンテストに勝つためのOSS

  • 発表者は左野寛之さん。会津大の学生さん
  • Google Summer of Code 2016に参加。RoR改善に取り組んでいる。
  • OSS開発奨励金:プロジェクトが完遂したら$5500!
プログラミングコンテストの話
Aizu Online Judge(AOJ)
プログラミングコンテストのためのライブラリ
Social Snippet
今後にむけて
  • オンラインジャッジを利用した自動的な評価
プログラミングコンテストOSS


OSS ERP JPiereの紹介

ERP(Enterprise Resource Planing)
JPiereのデモ
JPiereの宣伝。
  • 高い人件費、高額なシステム
  • 導入工数を減らして素早く低コストで
    • iDempiereの標準機能+Jpiereの組み合わせで必要機能へのギャップ。
  • JPiere
    • 例:低減税率への対応
    • 売上の処理
    • 日本語レポートの生成。
    • 日本の商習慣だけでなく、UI改善や便利に使うためのツールも提供。
    • パラメータ設定の最適化
コミュニティ
  • 技術と収益をiDempiereのコミュニティにも還元することを考えている。
  • 2週間くらい合宿みたいなこともやった。
    • 日本とアジア圏で商習慣ってどのくらい違うのかなー。
  • フリーライダーにはなりたくない。
    • 寄付やバグレポートは毎月やっていく。


OpenFlowパッチパネルのご紹介

  • 講演者は仲間 修也 氏
  • 沖縄オープンラボラトリ所属
オープンラボラトリの紹介
OpenFlowパッチパネル(OF-Patch)とは
  • OpenFlowスイッチにてパッチパネルを実現したもの。
  • パッチパネルって?
    • 裏面にサーバルータ、スイッチを、表面の抜き差しでNW構成を変更するもの。
  • OpenFlowの説明
    • フローを入力することで制御する。
  • OF-PatchとGUIの制御画面を今回開発している。
OF-Patchの必要性
  • 従来のパッチパネルでは、物理的な配線を手動で切り替える必要があった。
  • それをソフトウェアで制御することで、現地での作業等なしにしたい。
  • 沖縄オープンラボに実際に組み込んでみた。
OSSとしての公開。
of-patchの実装
  • Leaf-Spine構成
    • 複数のOpenFlowスイッチを組み合わせてポート数を確保。
    • Spine:中間層
    • Leaf:末端層。最大48台。2000近くのポートが使えるようになる。
  • 経路選択
    • 経路に偏りが起きないように制御している。
of-Patchのデモ
  • 円周の外側が接続機器などになる。
  • デモもSpine/Leafの構成。
  • 画面上で線を繋いでフローを追加/線を切ってフローの削除などを実施。
今後の取組
  • 複数データセンタ対応
    • 沖縄オープンラボラトリが那覇近くに移転した。
    • このため拠点をまたいだ対応が必要がでてきた。
  • OAM機能
  • SINET検証


オープンソース個人番号カードドライバ

個人番号カード(マイナンバーカード)の解析
データモデル
  • 総務省が消せと言ってくるかもしれない」
  • ツリー状の構成。Unixファイルシステムに類似。
  • 緑は普通のファイル
  • 黄色はハード的に読み取り不可?になっている。チップを開けると自爆する機構が入っているかも。
APDUコマンド仕様の話。
  • 4バイトのコマンドと後続するペイロードで構成。4つのケースがある。
  • カードによって独自の命令があったりする。マイナンバーにもそういうものがある。
  • APDU通信の例
  • まさかのマイナンバーの公開w ASCIIで入っているのな。
  • 名前・住所はUTF8、生年月日はASCII。性別は0x31。
    • 女性が0x30なのか0x32なのかは不明w
ここから本題?
OpenSCスタック
PKCS#11 APIs
  • インタフェースだけ規定。
  • 全部で100個以上あるらしい。主要なものは実装されつつある。
PKCS#15
マイナンバーカードSSHの話
総務相に言いたいこと
  • 仕様を隠さないで
    • ハックする人がいるから無駄ですよ
    • 普及させたいなら公開しろと
目指していること
総務省への低減

OpenLDAP高速化の話

WiredTiger
  • BekeryDBを作った人がまたWiredTigerという新しいDBを作った。
    • 最近のマルチCPUに対応。
  • WiredTigerを使ったOpenLDAPバックエンドを開発した。




以降はわりとどうでもいい話。

役員体制の報告

  • わりとどうでもいい。


コンテスト結果発表

  • 優秀賞(2名:賞金10万円)
    • 佐野さん(IPA発表があるので、もう帰ったらしい)
    • 萩原さん
  • 最優秀賞(1名)
    • 濱野さん

2016-06-27

ハッカーズチャンプルー2016 カンファレンスに行ってきたよ

ということで、JPUGの予算を使って沖縄そばを食べに・・・じゃなくて、沖縄支部長の@zumaさんのご招待でハッカーズチャンプルー2016 カンファレンスに行きましたw

一応、きちんと発表もしましたよ。
PostgreSQL 9.6がやってくる!

PostgreSQLを使ったことがなさそうな人も多いのかな?
それでこのスライド内容で大丈夫かな?
と不安に思うところはありましたが、まずまずの感触。

「ポスグレはいいぞ」と「psqlオセロ」の反応が良かったので、自分的には良し(違
まあ、PostgreSQLを最近使っていなかった人や、今まで使っていなかった人にも、PostgreSQLをちょっと見なおしてもらえる機会になれば幸いです。

ハッカーズチャンプルー、とにかく若い人(学生含む)が多く、熱い発表が多かったですね。
PostgreSQLにも、こういう若い人をなんとか呼び込んでみたいものです。

あ、もちろん沖縄そば/ラーメンもきちんと食べましたw