SlideShare a Scribd company logo
kintoneの
検索高速化への取り組み
サイボウズ大阪開発部
三苫 亮
2017/03/26
CAMPHOR-
自己紹介
三苫 亮(みとま りょう)
• @mitomasan
• サーバーサイドエンジニア
• Java, DB周りが好き
✋注意✋
本日のお話は、開発中のものです。
弊社サービス kintone に
(まだ)反映されていません。
今日のお話
kintoneであつかっている
スキーマ不定なデータを
Elasticsearch にのせて
検索を高速化するお話
お話のながれ
• データの格納のしかたや検索の方式について
• kintone で発生したパフォーマンスの問題について
• Elasticsearch の概要
• 対策の概要と結果・トレードオフ
• まとめ
データをデータベースに格納する
どんなデータを?
同級生の名簿?
名前
性別
学年
つながり
共通の趣味
ラーメン屋のリスト?
店名
住所 ジャンル
評価
売上伝票?
伝票番号
売上額
品名 単価
品名 単価
品名 単価
…
データの形はさまざま
スキーマという スキーマ=構造
データはそれぞれ構造を持っている
構造が事前にわかっているとシステムは処理しやすい
スキーマを定義して固定する
店名が天一で評価の高い
ラーメン屋が知りたいな
店名 住所 評価 …
天一 S
RDBMSの基本はスキーマ固定
友達テーブル
名前
連絡先
地元
構造を先に決めちゃう (=テーブルを定義する)
バイト先
エピソードテーブル
友達名
日時
エピソード
スキーマレスって知ってる?
• スキーマレスDBという言葉をよく聞くね
• つまり構造が無い
• ベースラインとする構造は
あるだろうけれど
それを逸脱するデータも許容する🙆
スキーマ不定なデータというのもある
• 構造が一定のままではないデータ
• 構造はあるけど、変わる
• その時点の構造に合わないデータは許容しない🙅
• スキーマレスとは似て非なる言葉
名前
性別
名前
性別
学年
名前
性別
職業
収入
イメージとしては… あくまでイメージね
• スキーマレス
• ぜ~んぶ連想配列/Map/Hashでやっちゃうよ~☺
• カウボーイっぽい世界観
• スキーマ不定
• 型定義はするんだけど、実行時に途中で型変えちゃうよ
• Rubyっぽい世界観
• スキーマ固定
• 実装時に型定義して、実行時に変更は許さないよ
• Javaっぽい世界観
スキーマ不定
どんな時に使われる?
• 構造をあらかじめ決められないとき
• 答えが決まっていなくてもとにかく始めたい
• とはいえ、決定している項目は系統だって検索・集計したい
• その時の必要に合わせて構造を変更したい
話は変わってkintone
• スキーマを自由に設計できるWebデータベース
(=システムの稼働中にテーブルにあたるものを定義する)
• スキーマ不定データが扱える
ドラッグ&ドロップで
データベースの項目を
設計・変更できる
でもkintoneのバックエンドはRDBMS
えっ!?
スキーマ不定のシステムなのに、
バックエンドはスキーマ固定の
RDBMSなんですか???
RDBMS
RDBMSでスキーマ不定データを扱う
RDBMSでスキーマ不定データを扱うアプローチは大きく4つ
• 構造写像アプローチ
• モデル写像アプローチ
• friendfeedアプローチ
• salesforceアプローチ
参考:http://dev.ariel-networks.com/Members/inoue/schemaless/
構造写像アプローチ
• データの構造を、RDBMS上に構築する
• つまり普通のデータベースと同じ
• メリット
• RDBMSの機能がそのまま使える
• パフォーマンス
• デメリット
• 構造を変更するとき(DDL発行時)に
トランザクションで保護できない場合がある
• インデックス戦略がアドホックになりがち
• データ種別の数だけテーブルが増える
ラーメン屋リスト
店名 住所 評価 …
モデル写像アプローチ
• データのモデルをRDBMS上に構築する
• メタプログラミング的
• メリット
• RDBMSのテーブル定義変更が不要
• ロックの粒度を小さくできる
• デメリット
• パフォーマンスはあまりよくない
• レコード数が縦に爆発
• よいインデックスを張るのが難しい
データテーブル
テーブル カラム 番号 データ
ラーメン屋リスト 店名
ラーメン屋リスト 住所
ラーメン屋リスト 評価
ラーメン屋リスト …
1
1
1
1
ラーメン屋リスト 店名
ラーメン屋リスト 住所
ラーメン屋リスト 評価
ラーメン屋リスト …
2
2
2
2
salesforceアプローチ
• 汎用的で巨大な構造を最初に定義
• 最初に100カラムとか用意しておく
• 検索用にインデックステーブル
• メリット
• RDBMSのテーブル定義変更が不要
• わかりやすい
• デメリット
• 空間効率(ディスク消費)が良くない
• 項目数に上限がある
データテーブル
テーブル 番号 C1 C2 C3 C4 C5 …
ラーメン屋リスト
ラーメン屋リスト
ラーメン屋リスト
…
インデックステーブル
テーブル 番号 インデックス値
× データ型の数だけ
1
2
3
ラーメン屋リスト 1
ラーメン屋リスト 2
ラーメン屋リスト 3
friendfeedアプローチ
• データをシリアライズして
1カラムに放り込む
• JSONみたいなイメージ
• 検索用にインデックステーブル
• メリット
• RDBMSのテーブル定義変更が不要
• Salesforceアプローチに比べて項目数
の制限が無い
• デメリット
• データ更新やシリアライズ・デシリアラ
イズのコストが大きい
データテーブル
テーブル 番号 データ
ラーメン屋リスト
ラーメン屋リスト
ラーメン屋リスト
…
{ …}
{ …}
{ …}
1
2
3
インデックステーブル
テーブル 番号 インデックス値
× データ型の数だけ
ラーメン屋リスト 1
ラーメン屋リスト 2
ラーメン屋リスト 3
kintoneはどのアプローチ?
friendfeedアプローチ
ちなみに命名元のfriendfeedというサービスは、今はもうない
こんな形の普通のテーブルだったら
どうやってデータを検索するの?
ラーメン屋リスト
店名 住所 評価 …
天一 S
…
SQLで書くとこんな感じ
SELECT *
FROM ラーメン屋リスト
WHERE 店名='天一' AND 評価='S'
{天一 S
friendfeedアプローチだとこうなる
データテーブル
テーブル 番号 データ
ラーメン屋リスト
ラーメン屋リスト
ラーメン屋リスト
…
{ …}
{ …}
…}
1
2
3
インデックステーブル
テーブル 番号 インデックス値
ラーメン屋リスト 1
ラーメン屋リスト 2
ラーメン屋リスト 3
インデックステーブル
テーブル 番号 インデックス値
ラーメン屋リスト 1
ラーメン屋リスト 2
ラーメン屋リスト 3
天一
S
{天一 S
店名が '天一'
データテーブル
テーブル 番号 データ
ラーメン屋リスト
ラーメン屋リスト
ラーメン屋リスト
…
{ …}
{ …}
…}
1
2
3
インデックステーブル
テーブル 番号 インデックス値
ラーメン屋リスト 1
ラーメン屋リスト 2
ラーメン屋リスト 3
インデックステーブル
テーブル 番号 インデックス値
ラーメン屋リスト 1
ラーメン屋リスト 2
ラーメン屋リスト 3
天一
S
{天一 S
店名が '天一' かつ評価が 'S'
データテーブル
テーブル 番号 データ
ラーメン屋リスト
ラーメン屋リスト
ラーメン屋リスト
…
{ …}
{ …}
…}
1
2
3
インデックステーブル
テーブル 番号 インデックス値
ラーメン屋リスト 1
ラーメン屋リスト 2
ラーメン屋リスト 3
インデックステーブル
テーブル 番号 インデックス値
ラーメン屋リスト 1
ラーメン屋リスト 2
ラーメン屋リスト 3
天一
S
{天一 S
店名が '天一' かつ評価が 'S'
データテーブル
テーブル 番号 データ
ラーメン屋リスト
ラーメン屋リスト
ラーメン屋リスト
…
{ …}
{ …}
…}
1
2
3
インデックステーブル
テーブル 番号 インデックス値
ラーメン屋リスト 1
ラーメン屋リスト 2
ラーメン屋リスト 3
インデックステーブル
テーブル 番号 インデックス値
ラーメン屋リスト 1
ラーメン屋リスト 2
ラーメン屋リスト 3
天一
S
番号=3のレコードが
目的のレコードであることがわかる
{天一 S
店名が '天一' かつ評価が 'S'
データテーブル
テーブル 番号 データ
ラーメン屋リスト
ラーメン屋リスト
ラーメン屋リスト
…
{ …}
{ …}
…}
1
2
3
インデックステーブル
テーブル 番号 インデックス値
ラーメン屋リスト 1
ラーメン屋リスト 2
ラーメン屋リスト 3
インデックステーブル
テーブル 番号 インデックス値
ラーメン屋リスト 1
ラーメン屋リスト 2
ラーメン屋リスト 3
天一
S
番号=3のレコードを取得する
SQLで書くとこんな感じ
SELECT データ FROM データテーブル
JOIN ●インデックステーブル
ON データテーブル.テーブル=●インデックステーブル.テーブル
AND データテーブル.番号=●インデックステーブル.番号
JOIN ●インデックステーブル
ON データテーブル.テーブル=●インデックステーブル.テーブル
AND データテーブル.番号=●インデックステーブル.番号
WHERE
データテーブル.テーブル = 'ラーメン屋リスト'
AND ●.インデックス値 = '天一'
AND ●.インデックス値 = 'S'
それって結構大変じゃない?
そう、大変。(SQLもパフォーマンスも…)
けど大丈夫!
kintoneは業務システムなのでデータ量は
多くとも数万件のオーダーで済むという前提があった☺
< 我々は非機能要件で保護されている!
前提の崩壊
うわー!
増
大
す
る
デ
ー
タ
湧き上がる問題
• データを検索するのに、何分も帰ってこない
• 検索のためのSQLが読みにくく、チューニングが大変
• チューニングのためにさらにSQLが膨れ上がったり
パフォーマンスと保守性の低下。
インデックス
テーブル
インデックス
テーブル
どこを直せばいい?
いままではこう。
②+③が遅く複雑なSQLになっている。
データテーブル
インデックス
テーブル①
④ ③
②
検索するぞ!
インデックス
テーブル
インデックス
テーブル
ボトルネックを潰すしかない
②に当たる部分を高速化するんだ!
データテーブル
インデックス
テーブル①
④ ③
②
遅いぞ!
なにくそ!
どうやればいいだろう?
問題点はJOINが大量にあるのが辛い・遅い
• JOINしないようにまとめたい
• まとめるとインデックスがうまく張れない
• ≒構造写像アプローチのデメリット
• データ量が膨大だとRDBMSでは
全項目のインデクシングは困難
Elasticsearch
• Elasticsearchとはなに?
• 様々なユースケースを解決する、
分散型RESTful検索/分析エンジンです。(本家サイトより)
Elasticsearchのいいところ
• 分散型
• 複数のノードからクラスターを構成する
• ノードを増やして性能を上げることが出来る
Cluster
Node Node Node Node
…
Elasticsearchのいいところ
• スキーマ(Mapping)を定義することができる
• スキーマをもとにした検索ができる
Index
Type
番号
店名
住所
評価
…
Type
名前
性別
年齢
趣味
地域
…
…
Elasticsearchのいいところ
• 全文検索ができる
• キーワード検索をおこなうことができる
• 'トンドル' で検索して '㌧㌦' も候補にあげることもできる
• すでにkintoneは全文検索エンジンのSolrも組み合わせて
使っており、それの置き換えにもElasticsearchを検討していた
Elasticsearchのいいところ
• 安定運用やセキュリティに力を入れている
• Java Security Manager
• 一部のモジュールだけに特権を制限している
• JarHell対策
• ライブラリやクラスの衝突により、実行時に誤動作すること
• Elasticsearchは起動時に衝突していないか検証している
• 起動時チェック
• ヒープサイズ・ファイルデスクリプタ・仮想メモリが十分か確認
• などなど、詳細はここをチェック!
• https://www.elastic.co/jp/blog/elasticsearch-the-server
でてきた解決策
• 検索はElasticsearchにまかせてRDBMSは
オリジナルデータの保存場所とする
• 堅牢さはRDBMSに一日の長がある
• ID指定によるデータ取得は
現状RDBMSでも遅くない
新しいアーキテクチャ
①
④
データテーブル
③
インデックス
②
同
期
発生するトレードオフ
• インデックスの更新が非同期
• RDBMS上のデータをもとにインデックスを更新するため
トランザクションが同一ではない。
なのでElasticsearchが検索で返した値と
RDBMSに入っているデータにズレが
発生する時間がある
①
④
データテーブル
③
インデックス
②
同
期
対策
• 同期が遅延しているかどうかを管理し、
遅延が発生している状況下では、
間違った検索結果を返してないか
プログラム側で再フィルタリングを行う
①
④
データテーブル
③
インデックス
②
同
期
遅延が発生してるな?
俺もフィルタリングや
ベンチマーク結果
• 2,000万件のレコードを
絞り込む時間がいまの実装に
比べて大幅に短縮できた!
※ kintoneの検索が改善できるかどうかという
観点で行ったベンチマークなので
RDBMSとElasticsearchの機材スペック差
などは公平ではありません
まとめ
• スキーマ不定なデータをRDBMSで扱う際の
主要なアーキテクチャを4つ紹介!
• kintoneではfriendfeedアプローチを採用してるよ
• このアプローチは大量データに向かない☹
• Elasticsearchという分析エンジンを活用して
検索を速くするアーキテクチャに置き換えたよ☺
• トレードオフがあり、それについては受け入れられる
レベルまでアプリケーションでフォローをしたよ
おしまい
やってやれないことはない
増
大
す
る
デ
ー
タ

More Related Content

What's hot

マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!mosa siru
 
思考停止しないアーキテクチャ設計 ➖ JJUG CCC 2018 Fall
思考停止しないアーキテクチャ設計 ➖ JJUG CCC 2018 Fall思考停止しないアーキテクチャ設計 ➖ JJUG CCC 2018 Fall
思考停止しないアーキテクチャ設計 ➖ JJUG CCC 2018 FallYoshitaka Kawashima
 
ユーザーインタビューするときは、どうやらゾンビのおでましさ
ユーザーインタビューするときは、どうやらゾンビのおでましさユーザーインタビューするときは、どうやらゾンビのおでましさ
ユーザーインタビューするときは、どうやらゾンビのおでましさYoshiki Hayama
 
今日から使おうSmalltalk
今日から使おうSmalltalk今日から使おうSmalltalk
今日から使おうSmalltalkSho Yoshida
 
SQLアンチパターン - ジェイウォーク
SQLアンチパターン - ジェイウォークSQLアンチパターン - ジェイウォーク
SQLアンチパターン - ジェイウォークke-m kamekoopa
 
DAUを評価指標から捨てた会社の話 #tokyowebmining
DAUを評価指標から捨てた会社の話 #tokyowebminingDAUを評価指標から捨てた会社の話 #tokyowebmining
DAUを評価指標から捨てた会社の話 #tokyowebminingTokoroten Nakayama
 
組織にテストを書く文化を根付かせる戦略と戦術
組織にテストを書く文化を根付かせる戦略と戦術組織にテストを書く文化を根付かせる戦略と戦術
組織にテストを書く文化を根付かせる戦略と戦術Takuto Wada
 
ベロシティを上手く使って 技術的負債を計画的に解消する
ベロシティを上手く使って 技術的負債を計画的に解消するベロシティを上手く使って 技術的負債を計画的に解消する
ベロシティを上手く使って 技術的負債を計画的に解消するKoichiro Matsuoka
 
C#でわかる こわくないMonad
C#でわかる こわくないMonadC#でわかる こわくないMonad
C#でわかる こわくないMonadKouji Matsui
 
フロー効率性とリソース効率性、再入門 #devlove #devkan
フロー効率性とリソース効率性、再入門 #devlove #devkanフロー効率性とリソース効率性、再入門 #devlove #devkan
フロー効率性とリソース効率性、再入門 #devlove #devkanItsuki Kuroda
 
「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ
「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ
「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチYoshiki Hayama
 
ソフトウェア開発における『知の高速道路』
ソフトウェア開発における『知の高速道路』ソフトウェア開発における『知の高速道路』
ソフトウェア開発における『知の高速道路』Yoshitaka Kawashima
 
App013 ここはあえて紙と
App013 ここはあえて紙とApp013 ここはあえて紙と
App013 ここはあえて紙とTech Summit 2016
 
Test Yourself - テストを書くと何がどう変わるか
Test Yourself - テストを書くと何がどう変わるかTest Yourself - テストを書くと何がどう変わるか
Test Yourself - テストを書くと何がどう変わるかTakuto Wada
 
Dockerfileを改善するためのBest Practice 2019年版
Dockerfileを改善するためのBest Practice 2019年版Dockerfileを改善するためのBest Practice 2019年版
Dockerfileを改善するためのBest Practice 2019年版Masahito Zembutsu
 
PostgreSQLアンチパターン
PostgreSQLアンチパターンPostgreSQLアンチパターン
PostgreSQLアンチパターンSoudai Sone
 
クラシフィケーション・ツリー法入門
クラシフィケーション・ツリー法入門クラシフィケーション・ツリー法入門
クラシフィケーション・ツリー法入門H Iseri
 
シリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのかシリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのかAtsushi Nakada
 
グルーミングしながら進めるプロダクト開発
グルーミングしながら進めるプロダクト開発グルーミングしながら進めるプロダクト開発
グルーミングしながら進めるプロダクト開発Takafumi ONAKA
 

What's hot (20)

マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
 
思考停止しないアーキテクチャ設計 ➖ JJUG CCC 2018 Fall
思考停止しないアーキテクチャ設計 ➖ JJUG CCC 2018 Fall思考停止しないアーキテクチャ設計 ➖ JJUG CCC 2018 Fall
思考停止しないアーキテクチャ設計 ➖ JJUG CCC 2018 Fall
 
ユーザーインタビューするときは、どうやらゾンビのおでましさ
ユーザーインタビューするときは、どうやらゾンビのおでましさユーザーインタビューするときは、どうやらゾンビのおでましさ
ユーザーインタビューするときは、どうやらゾンビのおでましさ
 
今日から使おうSmalltalk
今日から使おうSmalltalk今日から使おうSmalltalk
今日から使おうSmalltalk
 
SQLアンチパターン - ジェイウォーク
SQLアンチパターン - ジェイウォークSQLアンチパターン - ジェイウォーク
SQLアンチパターン - ジェイウォーク
 
DAUを評価指標から捨てた会社の話 #tokyowebmining
DAUを評価指標から捨てた会社の話 #tokyowebminingDAUを評価指標から捨てた会社の話 #tokyowebmining
DAUを評価指標から捨てた会社の話 #tokyowebmining
 
組織にテストを書く文化を根付かせる戦略と戦術
組織にテストを書く文化を根付かせる戦略と戦術組織にテストを書く文化を根付かせる戦略と戦術
組織にテストを書く文化を根付かせる戦略と戦術
 
ベロシティを上手く使って 技術的負債を計画的に解消する
ベロシティを上手く使って 技術的負債を計画的に解消するベロシティを上手く使って 技術的負債を計画的に解消する
ベロシティを上手く使って 技術的負債を計画的に解消する
 
C#でわかる こわくないMonad
C#でわかる こわくないMonadC#でわかる こわくないMonad
C#でわかる こわくないMonad
 
フロー効率性とリソース効率性、再入門 #devlove #devkan
フロー効率性とリソース効率性、再入門 #devlove #devkanフロー効率性とリソース効率性、再入門 #devlove #devkan
フロー効率性とリソース効率性、再入門 #devlove #devkan
 
「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ
「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ
「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ
 
ソフトウェア開発における『知の高速道路』
ソフトウェア開発における『知の高速道路』ソフトウェア開発における『知の高速道路』
ソフトウェア開発における『知の高速道路』
 
App013 ここはあえて紙と
App013 ここはあえて紙とApp013 ここはあえて紙と
App013 ここはあえて紙と
 
Test Yourself - テストを書くと何がどう変わるか
Test Yourself - テストを書くと何がどう変わるかTest Yourself - テストを書くと何がどう変わるか
Test Yourself - テストを書くと何がどう変わるか
 
Dockerfileを改善するためのBest Practice 2019年版
Dockerfileを改善するためのBest Practice 2019年版Dockerfileを改善するためのBest Practice 2019年版
Dockerfileを改善するためのBest Practice 2019年版
 
PostgreSQLアンチパターン
PostgreSQLアンチパターンPostgreSQLアンチパターン
PostgreSQLアンチパターン
 
クラシフィケーション・ツリー法入門
クラシフィケーション・ツリー法入門クラシフィケーション・ツリー法入門
クラシフィケーション・ツリー法入門
 
WayOfNoTrouble.pptx
WayOfNoTrouble.pptxWayOfNoTrouble.pptx
WayOfNoTrouble.pptx
 
シリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのかシリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのか
 
グルーミングしながら進めるプロダクト開発
グルーミングしながら進めるプロダクト開発グルーミングしながら進めるプロダクト開発
グルーミングしながら進めるプロダクト開発
 

Viewers also liked

2017-03-26 CAMPHOR- 勉強会:エンジニア向けkintone活用術
2017-03-26 CAMPHOR- 勉強会:エンジニア向けkintone活用術2017-03-26 CAMPHOR- 勉強会:エンジニア向けkintone活用術
2017-03-26 CAMPHOR- 勉強会:エンジニア向けkintone活用術Yasuharu Sakai
 
サイボウズのリモートワーク・リモートチーム
サイボウズのリモートワーク・リモートチームサイボウズのリモートワーク・リモートチーム
サイボウズのリモートワーク・リモートチームRyo Mitoma
 
”30分”ぐらいでわかる「Kubernetes」について
”30分”ぐらいでわかる「Kubernetes」について”30分”ぐらいでわかる「Kubernetes」について
”30分”ぐらいでわかる「Kubernetes」についてYuya Ohara
 
【kintone便利に使おうシリーズ】[vol.08 アクセス権]
【kintone便利に使おうシリーズ】[vol.08 アクセス権] 【kintone便利に使おうシリーズ】[vol.08 アクセス権]
【kintone便利に使おうシリーズ】[vol.08 アクセス権] Cybozucommunity
 
kintone 活用イメージ集 vol2 20160518
kintone 活用イメージ集 vol2 20160518kintone 活用イメージ集 vol2 20160518
kintone 活用イメージ集 vol2 20160518Cybozucommunity
 
【kintone便利に使おうシリーズ】[vol.05 アクション]
【kintone便利に使おうシリーズ】[vol.05 アクション]【kintone便利に使おうシリーズ】[vol.05 アクション]
【kintone便利に使おうシリーズ】[vol.05 アクション]Cybozucommunity
 
【kintone便利に使おうシリーズ】[vol.09 通知]
【kintone便利に使おうシリーズ】[vol.09 通知]【kintone便利に使おうシリーズ】[vol.09 通知]
【kintone便利に使おうシリーズ】[vol.09 通知]Cybozucommunity
 
【kintone便利に使おうシリーズ】[vol.06 グラフ]
【kintone便利に使おうシリーズ】[vol.06 グラフ]【kintone便利に使おうシリーズ】[vol.06 グラフ]
【kintone便利に使おうシリーズ】[vol.06 グラフ]Cybozucommunity
 
【kintone便利に使おうシリーズ】[vol.04 関連レコード一覧]
【kintone便利に使おうシリーズ】[vol.04 関連レコード一覧] 【kintone便利に使おうシリーズ】[vol.04 関連レコード一覧]
【kintone便利に使おうシリーズ】[vol.04 関連レコード一覧] Cybozucommunity
 
カスタマーサポートでkintone
カスタマーサポートでkintoneカスタマーサポートでkintone
カスタマーサポートでkintoneCybozucommunity
 
【kintone便利に使おうシリーズ】[vol.01 テーブル]
【kintone便利に使おうシリーズ】[vol.01 テーブル]【kintone便利に使おうシリーズ】[vol.01 テーブル]
【kintone便利に使おうシリーズ】[vol.01 テーブル]Cybozucommunity
 
【kintone便利に使おうシリーズ】[vol.02 計算]
【kintone便利に使おうシリーズ】[vol.02 計算] 【kintone便利に使おうシリーズ】[vol.02 計算]
【kintone便利に使おうシリーズ】[vol.02 計算] Cybozucommunity
 
総務部門でkintone
総務部門でkintone総務部門でkintone
総務部門でkintoneCybozucommunity
 
【kintone便利に使おうシリーズ】[vol.03 ルックアップ]
【kintone便利に使おうシリーズ】[vol.03 ルックアップ] 【kintone便利に使おうシリーズ】[vol.03 ルックアップ]
【kintone便利に使おうシリーズ】[vol.03 ルックアップ] Cybozucommunity
 
【kintone便利に使おうシリーズ】[vol.07 プロセス管理]
【kintone便利に使おうシリーズ】[vol.07 プロセス管理]【kintone便利に使おうシリーズ】[vol.07 プロセス管理]
【kintone便利に使おうシリーズ】[vol.07 プロセス管理]Cybozucommunity
 
kintone業種別活用イメージ集
kintone業種別活用イメージ集kintone業種別活用イメージ集
kintone業種別活用イメージ集Cybozucommunity
 

Viewers also liked (20)

2017-03-26 CAMPHOR- 勉強会:エンジニア向けkintone活用術
2017-03-26 CAMPHOR- 勉強会:エンジニア向けkintone活用術2017-03-26 CAMPHOR- 勉強会:エンジニア向けkintone活用術
2017-03-26 CAMPHOR- 勉強会:エンジニア向けkintone活用術
 
サイボウズのリモートワーク・リモートチーム
サイボウズのリモートワーク・リモートチームサイボウズのリモートワーク・リモートチーム
サイボウズのリモートワーク・リモートチーム
 
”30分”ぐらいでわかる「Kubernetes」について
”30分”ぐらいでわかる「Kubernetes」について”30分”ぐらいでわかる「Kubernetes」について
”30分”ぐらいでわかる「Kubernetes」について
 
go-apt-cacher/mirror
go-apt-cacher/mirrorgo-apt-cacher/mirror
go-apt-cacher/mirror
 
AWS Black Belt - AWS Glue
AWS Black Belt - AWS GlueAWS Black Belt - AWS Glue
AWS Black Belt - AWS Glue
 
【kintone便利に使おうシリーズ】[vol.08 アクセス権]
【kintone便利に使おうシリーズ】[vol.08 アクセス権] 【kintone便利に使おうシリーズ】[vol.08 アクセス権]
【kintone便利に使おうシリーズ】[vol.08 アクセス権]
 
kintone 活用イメージ集 vol2 20160518
kintone 活用イメージ集 vol2 20160518kintone 活用イメージ集 vol2 20160518
kintone 活用イメージ集 vol2 20160518
 
【kintone便利に使おうシリーズ】[vol.05 アクション]
【kintone便利に使おうシリーズ】[vol.05 アクション]【kintone便利に使おうシリーズ】[vol.05 アクション]
【kintone便利に使おうシリーズ】[vol.05 アクション]
 
営業現場でkintone
営業現場でkintone営業現場でkintone
営業現場でkintone
 
【kintone便利に使おうシリーズ】[vol.09 通知]
【kintone便利に使おうシリーズ】[vol.09 通知]【kintone便利に使おうシリーズ】[vol.09 通知]
【kintone便利に使おうシリーズ】[vol.09 通知]
 
【kintone便利に使おうシリーズ】[vol.06 グラフ]
【kintone便利に使おうシリーズ】[vol.06 グラフ]【kintone便利に使おうシリーズ】[vol.06 グラフ]
【kintone便利に使おうシリーズ】[vol.06 グラフ]
 
【kintone便利に使おうシリーズ】[vol.04 関連レコード一覧]
【kintone便利に使おうシリーズ】[vol.04 関連レコード一覧] 【kintone便利に使おうシリーズ】[vol.04 関連レコード一覧]
【kintone便利に使おうシリーズ】[vol.04 関連レコード一覧]
 
カスタマーサポートでkintone
カスタマーサポートでkintoneカスタマーサポートでkintone
カスタマーサポートでkintone
 
【kintone便利に使おうシリーズ】[vol.01 テーブル]
【kintone便利に使おうシリーズ】[vol.01 テーブル]【kintone便利に使おうシリーズ】[vol.01 テーブル]
【kintone便利に使おうシリーズ】[vol.01 テーブル]
 
【kintone便利に使おうシリーズ】[vol.02 計算]
【kintone便利に使おうシリーズ】[vol.02 計算] 【kintone便利に使おうシリーズ】[vol.02 計算]
【kintone便利に使おうシリーズ】[vol.02 計算]
 
総務部門でkintone
総務部門でkintone総務部門でkintone
総務部門でkintone
 
人事部門でkintone
人事部門でkintone人事部門でkintone
人事部門でkintone
 
【kintone便利に使おうシリーズ】[vol.03 ルックアップ]
【kintone便利に使おうシリーズ】[vol.03 ルックアップ] 【kintone便利に使おうシリーズ】[vol.03 ルックアップ]
【kintone便利に使おうシリーズ】[vol.03 ルックアップ]
 
【kintone便利に使おうシリーズ】[vol.07 プロセス管理]
【kintone便利に使おうシリーズ】[vol.07 プロセス管理]【kintone便利に使おうシリーズ】[vol.07 プロセス管理]
【kintone便利に使おうシリーズ】[vol.07 プロセス管理]
 
kintone業種別活用イメージ集
kintone業種別活用イメージ集kintone業種別活用イメージ集
kintone業種別活用イメージ集
 

More from Ryo Mitoma

作る人から作りながら運用する人になっていく
作る人から作りながら運用する人になっていく作る人から作りながら運用する人になっていく
作る人から作りながら運用する人になっていくRyo Mitoma
 
さよなら Flaky 不安定なテストの探し方
さよなら Flaky 不安定なテストの探し方さよなら Flaky 不安定なテストの探し方
さよなら Flaky 不安定なテストの探し方Ryo Mitoma
 
kintone のレコード絞り込み置き換え事例の紹介
kintone のレコード絞り込み置き換え事例の紹介kintone のレコード絞り込み置き換え事例の紹介
kintone のレコード絞り込み置き換え事例の紹介Ryo Mitoma
 
小さなサービスも契約する時代
小さなサービスも契約する時代小さなサービスも契約する時代
小さなサービスも契約する時代Ryo Mitoma
 
京都在住、時々大阪、アメリカ向けの基盤開発
京都在住、時々大阪、アメリカ向けの基盤開発京都在住、時々大阪、アメリカ向けの基盤開発
京都在住、時々大阪、アメリカ向けの基盤開発Ryo Mitoma
 
Salary negotiation battle on Cybozu - employee side
Salary negotiation battle on Cybozu - employee sideSalary negotiation battle on Cybozu - employee side
Salary negotiation battle on Cybozu - employee sideRyo Mitoma
 
転職ドラフトを活用した給与交渉術~サイボウズ編~
転職ドラフトを活用した給与交渉術~サイボウズ編~転職ドラフトを活用した給与交渉術~サイボウズ編~
転職ドラフトを活用した給与交渉術~サイボウズ編~Ryo Mitoma
 
企業向けクラウドサービスの開発・運用 悩みどころのパターンと対策
企業向けクラウドサービスの開発・運用 悩みどころのパターンと対策企業向けクラウドサービスの開発・運用 悩みどころのパターンと対策
企業向けクラウドサービスの開発・運用 悩みどころのパターンと対策Ryo Mitoma
 
kintoneチームのKAIZEN文化
kintoneチームのKAIZEN文化kintoneチームのKAIZEN文化
kintoneチームのKAIZEN文化Ryo Mitoma
 

More from Ryo Mitoma (9)

作る人から作りながら運用する人になっていく
作る人から作りながら運用する人になっていく作る人から作りながら運用する人になっていく
作る人から作りながら運用する人になっていく
 
さよなら Flaky 不安定なテストの探し方
さよなら Flaky 不安定なテストの探し方さよなら Flaky 不安定なテストの探し方
さよなら Flaky 不安定なテストの探し方
 
kintone のレコード絞り込み置き換え事例の紹介
kintone のレコード絞り込み置き換え事例の紹介kintone のレコード絞り込み置き換え事例の紹介
kintone のレコード絞り込み置き換え事例の紹介
 
小さなサービスも契約する時代
小さなサービスも契約する時代小さなサービスも契約する時代
小さなサービスも契約する時代
 
京都在住、時々大阪、アメリカ向けの基盤開発
京都在住、時々大阪、アメリカ向けの基盤開発京都在住、時々大阪、アメリカ向けの基盤開発
京都在住、時々大阪、アメリカ向けの基盤開発
 
Salary negotiation battle on Cybozu - employee side
Salary negotiation battle on Cybozu - employee sideSalary negotiation battle on Cybozu - employee side
Salary negotiation battle on Cybozu - employee side
 
転職ドラフトを活用した給与交渉術~サイボウズ編~
転職ドラフトを活用した給与交渉術~サイボウズ編~転職ドラフトを活用した給与交渉術~サイボウズ編~
転職ドラフトを活用した給与交渉術~サイボウズ編~
 
企業向けクラウドサービスの開発・運用 悩みどころのパターンと対策
企業向けクラウドサービスの開発・運用 悩みどころのパターンと対策企業向けクラウドサービスの開発・運用 悩みどころのパターンと対策
企業向けクラウドサービスの開発・運用 悩みどころのパターンと対策
 
kintoneチームのKAIZEN文化
kintoneチームのKAIZEN文化kintoneチームのKAIZEN文化
kintoneチームのKAIZEN文化
 

Recently uploaded

Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)keikoitakurag
 
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptxssuserbefd24
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルCRI Japan, Inc.
 
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...atsushi061452
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizesatsushi061452
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptxyassun7010
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)NTT DATA Technology & Innovation
 
20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdf20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdfAyachika Kitazaki
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。iPride Co., Ltd.
 

Recently uploaded (10)

Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
 
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
 
20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdf20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdf
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
 

kintoneの検索高速化への取り組み