Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Alibaba CloudのTable Storeでオートインクリメント機能を使ってみた
Search
hmatsu47
PRO
May 18, 2019
Technology
0
550
Alibaba CloudのTable Storeでオートインクリメント機能を使ってみた
hmatsu47
PRO
May 18, 2019
Tweet
Share
More Decks by hmatsu47
See All by hmatsu47
今年の DB ネタ登壇振り返り
hmatsu47
PRO
0
6
RDS/Aurora アップデート 2025
hmatsu47
PRO
0
9
YAPC::Fukuoka 2025 現地ハイブリッド参加の旅
hmatsu47
PRO
0
5
今年の FESTA で初当日スタッフ+登壇してきました
hmatsu47
PRO
0
11
攻略!Aurora DSQL の OCC(楽観的同時実行制御)
hmatsu47
PRO
0
7
PostgreSQL でもできる!GraphRAG
hmatsu47
PRO
0
8
Aurora DSQL のトランザクション(スナップショット分離と OCC)
hmatsu47
PRO
0
14
いろんなところに居る Amazon Q(Developer)を使い分けてみた
hmatsu47
PRO
0
33
「ゲームで体感!Aurora DSQL の OCC(楽観的同時実行制御)」の結果ログから Aurora DSQL の動作を考察する
hmatsu47
PRO
0
10
Other Decks in Technology
See All in Technology
RAG/Agent開発のアップデートまとめ
taka0709
0
180
S3を正しく理解するための内部構造の読解
nrinetcom
PRO
2
120
AI駆動開発の実践とその未来
eltociear
0
120
AI時代の新規LLMプロダクト開発: Findy Insightsを3ヶ月で立ち上げた舞台裏と振り返り
dakuon
0
180
モダンデータスタック (MDS) の話とデータ分析が起こすビジネス変革
sutotakeshi
0
500
2025年 開発生産「可能」性向上報告 サイロ解消からチームが能動性を獲得するまで/ 20251216 Naoki Takahashi
shift_evolve
PRO
1
200
Database イノベーショントークを振り返る/reinvent-2025-database-innovation-talk-recap
emiki
0
220
多様なデジタルアイデンティティを攻撃からどうやって守るのか / 20251212
ayokura
0
470
エンジニアとPMのドメイン知識の溝をなくす、 AIネイティブな開発プロセス
applism118
4
1.3k
mairuでつくるクレデンシャルレス開発環境 / Credential-less development environment using Mailru
mirakui
5
530
年間40件以上の登壇を続けて見えた「本当の発信力」/ 20251213 Masaki Okuda
shift_evolve
PRO
1
140
「図面」から「法則」へ 〜メタ視点で読み解く現代のソフトウェアアーキテクチャ〜
scova0731
0
310
Featured
See All Featured
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.1k
Agile that works and the tools we love
rasmusluckow
331
21k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.3k
BBQ
matthewcrist
89
9.9k
Into the Great Unknown - MozCon
thekraken
40
2.2k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Practical Orchestrator
shlominoach
190
11k
For a Future-Friendly Web
brad_frost
180
10k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Building an army of robots
kneath
306
46k
Git: the NoSQL Database
bkeepers
PRO
432
66k
Transcript
Alibaba CloudのTable Storeで オートインクリメント機能を使ってみた (第27回 中国地方DB勉強会 in 島根 - 松江
2019/05/18 LT) hmatsu47(松久 裕保)
自己紹介と宣伝? • 名古屋でWebサービス(on AWS)のお守りをしてます • 最近やっとMyNA(MySQLユーザ会)会員になりました – あまりに入会しなかったのでMyNA副代表坂井さんに「みなし会員」 の称号をいただいてしまいました… •
「MySQL 8.0の薄い本」書いたので持ってきました – MySQL 8.0の新機能・変更点の情報リンクと実行例をまとめたもの – タダなので持ってってください(そのまま持ち帰るの重い…)
今日のお題 • Alibaba Cloudには「Table Store」というNoSQLサービスが あります • AWSのDynamoDBをパk参考に作られたサービスのような 感じです –
今日の吉田さんのお話で、皆さんDynamoDBのことは完全に理解 しましたね?
Table StoreがDynamoDBと似ている点 • プライマリキーの構成 – パーティションキー列 – ソートキー(相当の)列(オプション) • 属性列はスキーマレス
– 行ごとに変えることも可能 • グローバルセカンダリインデックスをサポート – 日本語マニュアルには表記がない…
Table StoreがDynamoDBと違う点(1/2) • 単一AZ内でデータを冗長化している(らしい) • 「容量型」と「高パフォーマンス型」のインスタンスがある – DynamoDBのオンデマンドキャパシティモードとプロビジョニング済 みキャパシティモードの関係と似てるけど、目的がちょっと違う? •
DynamoDBでいうところの「強い整合性」のみ? – 採用技術は違うかもしれないけれど、書き込みを完了したデータを 読み出すときの一貫性は保たれる仕様(らしい)
Table StoreがDynamoDBと違う点(2/2) • ソートキー(相当)列は最大3つまで(らしい) • ローカルセカンダリインデックスはない(らしい) • でも「サーチインデックス」というのがある – 全文検索、あいまい検索、ソート、地理検索などをサポート(らしい)
• プライマリキー列(パーティションキー列以外のうちの1つ)に オートインクリメント機能が使える – なんだかMySQLっぽい
というわけで • Table Storeの中のMySQLっぽい機能「オートインクリメント」 を試してみました – 今のところJava-SDKしか対応していないようなので、Javaで – 「MySQL 8.0の薄い本」GitHubリポジトリのアクセス数転記用
• Alibaba Cloudの「Function Compute」の関数として実装 – AWSでいうところのLambda(サーバレス) • https://github.com/hmatsu47/alibaba_table_store_sample
実行してみました
おや?
想像してたのと違うぞ? • Wikipediaより
間違いではなさそうです • コンピュータ用語ではなくて一般用語でした • MySQL InnoDB ClusterだってAUTO_INCREMENTは+1 じゃありませんし • たぶん分散
DB で+1を守ろうとすると、かなり辛いです
ただし • 64ビット整数で勢いよく増加していきます – うっかりするとオーバーフローしそうです • パーティションキー列を固定値にしないとオートインクリメント の意味がないのですが、性能面ではかなり制約を受けます – 今回の例は無理やり入れてるので固定にしてませんが
• 行数が少ないマスタテーブル向けですね
以上です ありがとうございました