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
hmatsu47
PRO
May 18, 2019
Technology
0
470
Alibaba CloudのTable Storeでオートインクリメント機能を使ってみた
hmatsu47
PRO
May 18, 2019
Tweet
Share
More Decks by hmatsu47
See All by hmatsu47
Aurora MySQL と Redshift の zero-ETL 統合のフィルター機能を試してみた
hmatsu47
PRO
0
9
Aurora MySQL 3.06 の ML 機能で Bedrock アクセスを試してみた
hmatsu47
PRO
0
8
RDS Data API と Aurora zero-ETL 統合と BuriKaigi2024 の話
hmatsu47
PRO
0
10
RDS Data API のその後と Aurora zero-ETL 統合のデータ転送処理の話
hmatsu47
PRO
0
28
RDS_Aurora 関連アップデート 2023 版
hmatsu47
PRO
0
59
人工無能たいたん
hmatsu47
PRO
0
57
20 世紀末の地方税理士事務所で IT 導入の 1 → 10 を頑張った話
hmatsu47
PRO
0
37
パソコン通信むかしばなし
hmatsu47
PRO
0
180
MySQL HeatWave の制限事項と RDS for MySQL → HeatWave on AWS の DMS レプリケーションを実際に試してみた
hmatsu47
PRO
0
250
Other Decks in Technology
See All in Technology
オブジェクト指向宗教史
tanakahisateru
14
12k
AMLD 2024 - Build Your Own GPT
donlelef
1
260
中学生でもわかる深層学習
e869120
14
4.6k
SaaS型Webサービス「カオナビ」のチーム開発でPackage by Featureを取り入れた話/Implementing Package by Feature in kaonavi
kaonavi
0
120
継続的テストモデルを実現するためにスリーアミーゴスを用いた10Xでのシフトレフトの事例
nihonbuson
3
270
暗黙知を集積するプラットフォーム : 「健常者エミュレータ事例集」の取り組み
sora32127
1
170
Vos logs méritent mieux que la config par défaut
lyrixx
2
440
KubeCon EU 2024 : Knative Maintainers Session
salaboy
0
380
技術広報として2023年度に頑張ったこと / What we did well in FY2023 as a DevRel
pauli
5
490
今さら聞けない!? AWSの生成AIサービス Amazon Bedrock入門!
minorun365
PRO
11
2.7k
家族アルバム みてねで直面してきた技術的負債 / MIXI KAG 2024
isaoshimizu
17
7.7k
ビジネスとコード品質の接合点 そしてコード品質がそこに及ぼす影響 / The Intersections of Business and Engineering, and The Impact of Code Quality There
mtx2s
11
1.1k
Featured
See All Featured
The Cost Of JavaScript in 2023
addyosmani
13
3.7k
jQuery: Nuts, Bolts and Bling
dougneiner
57
7.1k
How to train your dragon (web standard)
notwaldorf
71
5.1k
Agile that works and the tools we love
rasmusluckow
323
20k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
34
8.8k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
153
14k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
501
140k
What's in a price? How to price your products and services
michaelherold
236
11k
Imperfection Machines: The Place of Print at Facebook
scottboms
257
12k
The Power of CSS Pseudo Elements
geoffreycrofte
58
4.9k
Designing the Hi-DPI Web
ddemaree
275
33k
Creatively Recalculating Your Daily Design Routine
revolveconf
209
11k
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ビット整数で勢いよく増加していきます – うっかりするとオーバーフローしそうです • パーティションキー列を固定値にしないとオートインクリメント の意味がないのですが、性能面ではかなり制約を受けます – 今回の例は無理やり入れてるので固定にしてませんが
• 行数が少ないマスタテーブル向けですね
以上です ありがとうございました