Does TiFlash support MVCC?

This topic has been translated from a Chinese forum by GPT and might contain errors.

Original topic: TIFLASH支持MVCC吗?

| username: hacker_77powerful

Regarding the role and characteristics of TiFlash, which of the following is incorrect?
A. Users can manually choose to execute SQL on TiFlash nodes.
B. The regions in TiFlash are the columnar storage version of TiKV, but the reads on them do not support MVCC.
C. Using both TiKV and TiFlash in the same query can speed up query performance.
D. As long as the data in TiKV is not lost, the TiFlash replica can be restored at any time.

| username: hacker_77powerful | Original post link

Should we choose option A for this question?

| username: 托马斯滑板鞋 | Original post link

I think it’s C, TiFlash is not necessarily faster than TiKV with indexes :upside_down_face:

| username: zhanggame1 | Original post link

TiFlash is a key component of the TiDB HTAP architecture. It is a columnar storage extension of TiKV that provides good isolation while also ensuring strong consistency. The columnar replicas are asynchronously replicated through the Raft Learner protocol, but during reads, they achieve Snapshot Isolation consistency level by using Raft to verify indexes in conjunction with MVCC. This architecture effectively addresses the isolation and columnar synchronization issues in HTAP scenarios.

| username: DBAER | Original post link

The beginning states that it supports MVCC.

| username: 有猫万事足 | Original post link

Choose B, TiFlash supports MVCC.

| username: hacker_77powerful | Original post link

Choose B?

| username: TiDBer_JUi6UvZm | Original post link

I choose B.

| username: 小龙虾爱大龙虾 | Original post link

:joy_cat: Choose B

| username: hacker_77powerful | Original post link

I also think it’s option B.

| username: TiDBer_刚 | Original post link

Where did you get this question?

| username: hacker_77powerful | Original post link

Practice questions found online

| username: yytest | Original post link

B is the correct option.

| username: TiDBer_ZxWlj6A1 | Original post link

It’s obvious that MVCC is supported, so we must choose B. What’s the point of using a database that doesn’t support MVCC?

| username: TiDBer_LM | Original post link

The answer is B.

| username: WinterLiu | Original post link

You must choose B.

| username: 健康的腰间盘 | Original post link

Definitely choose B.

| username: 呢莫不爱吃鱼 | Original post link

Choose B, the description of option B is incorrect. TiFlash provides Multi-Version Concurrency Control (MVCC), which is a key feature used to support transactions and read-write concurrency. MVCC allows queries to see a snapshot of the data within a certain time range, even if the data is being modified or deleted during the query process.

| username: 濱崎悟空 | Original post link

Incorrect B

| username: 希希希望啊 | Original post link

Support option B