Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Alibaba CloudのTable Storeでオートインクリメント機能を使ってみた
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
hmatsu47
PRO
May 18, 2019
Technology
0
570
Alibaba CloudのTable Storeでオートインクリメント機能を使ってみた
hmatsu47
PRO
May 18, 2019
Tweet
Share
More Decks by hmatsu47
See All by hmatsu47
さいきんの光ファイバーの話
hmatsu47
PRO
0
28
低いほうのレイヤを見てみる話
hmatsu47
PRO
0
8
IPv6 VPC の実装パターンをいくつか
hmatsu47
PRO
0
25
光ファイバーと IPv6 絡みの話
hmatsu47
PRO
0
36
AWS で試して学ぶ IPv6
hmatsu47
PRO
0
32
今年の MySQL/HeatWave ネタ登壇振り返り
hmatsu47
PRO
0
31
今年の DB ネタ登壇振り返り
hmatsu47
PRO
0
23
RDS/Aurora アップデート 2025
hmatsu47
PRO
0
78
YAPC::Fukuoka 2025 現地ハイブリッド参加の旅
hmatsu47
PRO
0
19
Other Decks in Technology
See All in Technology
visionOS 開発向けの MCP / Skills をつくり続けることで XR の探究と学習を最大化
karad
1
1.1k
【社内勉強会】新年度からコーディングエージェントを使いこなす - 構造と制約で引き出すClaude Codeの実践知
nwiizo
5
3.3k
モジュラモノリス導入から4年間の総括:アーキテクチャと組織の相互作用について / Architecture and Organizational Interaction
nazonohito51
3
980
開発チームとQAエンジニアの新しい協業モデル -年末調整開発チームで実践する【QAリード施策】-
kaomi_wombat
0
170
GCASアップデート(202601-202603)
techniczna
0
240
AlloyDB 奮闘記
hatappi
0
180
1GB RAMのラズピッピで何ができるのか試してみよう / 20260319-rpijam-1gb-rpi-whats-possible
akkiesoft
0
630
イベントで大活躍する電子ペーパー名札を作る(その2) 〜 M5PaperとM5PaperS3 〜 / IoTLT @ JLCPCB オープンハードカンファレンス
you
PRO
0
130
Cortex Code CLI と一緒に進めるAgentic Data Engineering
__allllllllez__
0
520
Phase05_ClaudeCode入門
overflowinc
0
130
AWSの資格って役に立つの?
tk3fftk
2
370
Phase01_AI座学_基礎
overflowinc
0
270
Featured
See All Featured
The Curse of the Amulet
leimatthew05
1
10k
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
55k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
380
SEO for Brand Visibility & Recognition
aleyda
0
4.4k
Marketing to machines
jonoalderson
1
5k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
61
43k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
110
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ビット整数で勢いよく増加していきます – うっかりするとオーバーフローしそうです • パーティションキー列を固定値にしないとオートインクリメント の意味がないのですが、性能面ではかなり制約を受けます – 今回の例は無理やり入れてるので固定にしてませんが
• 行数が少ないマスタテーブル向けですね
以上です ありがとうございました