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