Your SlideShare is downloading. ×
ライブラリサービスを支える技術@Code4Lib Japan Conference(2013.08.31)
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

ライブラリサービスを支える技術@Code4Lib Japan Conference(2013.08.31)

1,013

Published on

0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,013
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
5
Comments
0
Likes
4
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. ライブラリサービスを支える技術 How to build a library service 大向 一輝(国立情報学研究所) Ikki Ohmukai, Ph.D. National Institute of Informatics @i2k
  • 2. ここはCode4Libなので、 テクノロジーの話をしましょう
  • 3. Web Researcher Web Service Provider Library Director Self Introduction
  • 4. Self Introduction
  • 5. Library Services by NII Articles CiNii Articles NII-ELS Books / Serials CiNii Books NACSIS-CAT Fund Reports KAKEN IR JAIRO JAIRO Cloud
  • 6. ライブラリサービスのいま • 「ウェブという名の大自然の中で、巨人の肩 の上に乗り、巨人と戦う」 • プラットフォーム化・クラウド化 • ○○だけあればいい、○○不要論 • エコロジカル・ニッチをどう守るか • コモディティ化 • オープンソース・「ムーアの法則」 • 個人・小さな組織の可能性が拡大
  • 7. ライブラリサービスのいま • テクノロジーの力を使って • 自らの手でアイデアを実現する • 現時点で最も複雑な「総合芸術」 • Just for Fun! • ケーススタディ • CiNii Articles • 大向一輝:CiNiiArticlesのシステムデザインとデータモデル,情報の科学 と技術,Vol.62, No.11,pp.473-477 (2012).
  • 8. CiNii Articlesとは • NII-ELS 400万件 • 論文・紀要の電子化 • 雑誌記事索引 1000万件 • 国立国会図書館 • J-STAGE 40万件 • 科学技術振興機構 • 機関リポジトリ 60万件 • 大学・研究機関 • 書誌合計 1500万件 • 同定・統合処理
  • 9. CiNii Articlesとは • NII-ELS(電子図書館サービス) • 学協会論文・大学紀要の電子化 • オープンアクセス論文:約45% • 定額アクセス論文:約45% • サイトライセンス契約数:約900機関 • 有料論文:約10% • 認証 • IPベース • サイトライセンス個人ID • 学認
  • 10. Facts 2010.9.1〜2013.8.31
  • 11. テクノロジースタック • ソーシャル • コンテンツ • インターフェイス • アプリケーション • ミドルウェア • OS • 仮想マシン • ハードウェア • ネットワーク • ファシリティ • 設計 • 開発 • 運用 • 内製 • 外注 • 連携 • オンプレミス • クラウド • …
  • 12. 無限の選択肢の中から • 「吉野家の定理」 • はやい、やすい、うまい • 同時に実現できるのは2つまで • CiNiiの場合 • 「やすい」は前提条件(公的サービス) • 「はやい」か「うまい」か • はやいのは七難隠す • うまいは外部のアイデアを→API公開へ
  • 13. 「はやい」「やすい」システム • ボトルネックを考える • 処理の内容から見る • リアルタイム系・バッチ系・参照系 • 同期・非同期 • アーキテクチャから見る • CPU・メモリ・ディスクI/O・ネットワーク
  • 14. CiNiiの場合 • ボトルネックはリアルタイム系・ディスクI/O • 業務とサービスがバランスしない • 業務:リアルタイムだが利用回数小 • サービス:必ずしもリアルタイムである必 要はないが利用回数大 • データベースアプリケーションだけで両者を 提供することの限界 • 業務とサービスの完全分離
  • 15. サービス系の分離 • CiNiiは2つの機能に集約される • キーワードを入力→該当するIDのリストを 出力 • IDを指定→書誌を出力 • 検索エンジン+KVS • 本質的にはRDBMSを必要としない • 例:史上最速のOPAC@Code4Lib Camp 2011
  • 16. 業務系の分離 • CiNii Articlesではバッチ系でデータ管理を行 う • CiNii Core(2013.4〜) • データ管理:週次 • 名寄せ:ベストエフォート • IDの変遷はリダイレクト情報として管理
  • 17. CiNii Core マスター データベース ローダ1 ローダ2 ローダn … CiNii用情報生成 名寄せエンジン 研究用途など
  • 18. サービスレベルと投資規模 • コストの大きい処理の極小化・局在化 • リアルタイム >> バッチ(日次 > 週次 > 月 次)>> ベストエフォート • 例:書誌は日次、貸し出し情報はリアルタ イム(Yes/No・予約数) • サービスレベルの再定義・詳細化 • 勘定系レベルのリアルタイム性は必要か? • Near Real Time
  • 19. ハードウェア 2009 2013
  • 20. CiNii Articles 2009 20 CiNii APサーバ CiNii Webサーバ CiNii APサーバ CiNii Webサーバ 検索プロセス 検索サーバ(1セット 目) 検索サーバ(2セット 目) 検索サーバ(3セット 目) 横断検索 API① 横断検索 API② 横断検索 API③ CiNii業務サーバ 各種ログデータ PostgreSQL PostgreSQL 週末は、ここでインデキシン グ等のデータ処理を行う。 CiNii APサーバ PostgreSQL ↓待機系
  • 21. CiNii Articles 2013 21 CiNii Webサーバ CiNii Webサーバ CiNii Webサーバ CiNii APサーバ1 検索エンジン (BizSearch) CiNii検索サーバ1(1) CiNii検索サーバ1(2) 検索エンジン (Solr) CiNii検索サーバ2(1) 検索エンジン (BizSearch) 検索エンジン (Solr) CiNii検索サーバ2(2) 静的ファイル 本文提供 認証課金 Detail Search 本文呼出 (Lognavi) pgpool PostgreSQL CiNii APサーバ2 本文提供 認証課金 Detail Search 本文呼出 (Lognavi) pgpool PostgreSQL NASストレージ 本文PDF CiNii検索サーバ3 検索エンジン (BizSearch) CiNii検索サーバ4 検索エンジン (Solr) CiNii インデキシング インデキシングサーバCiNii業務サーバ 各種ログデータ サムネイル作成 ディレクトリ作成
  • 22. CiNii Articles 2013 • 小型・集密化 • 運用コストの低減 • 仮想化 • BCPへのアプローチ • オープン化
  • 23. アーキテクチャとアプリケーション • APIファースト • UIはAPIをラップしたもの • 疎結合 • 富豪主義 • オーバーヘッド大・負荷大 • どんなサービスでも作れる • 3000万アクセスを支えるアーキテクチャ
  • 24. 新しい技術トレンド • ゲームのルールは突然かつ根本的に変わりう る • インメモリ処理 • SSD(PCIe)・メモリアレイ • 不揮発性メモリ • …
  • 25. まとめ • サービスレベルを設計し、現代の道具を使っ て問題解決を • 作ることの苦しみと苦しみと喜びは何物にも 代えがたい
  • 26. One More Thing…
  • 27. Code4Libのみなさんへ • CiNii JSON-LDAPI公開予定 • Access-Control-Allow-Origin対応 • クライアントサイドでのクロスドメイン通 信可能 • 新しいユーザインターフェイスのデモ • 近日GitHub(か何か)でソース公開予定
  • 28. Thank You!

×