Tanager primary-storage table design document #10
Replies: 3 comments 1 reply
-
|
Comments are welcomed at this point. However, please know that we'll be developing a proof-of-concept for Option B in April to test out the feasibility. |
Beta Was this translation helpful? Give feedback.
-
|
If we go with Option B, would it still makes sense to have a |
Beta Was this translation helpful? Give feedback.
-
|
Current design, based on Option B, is in Primary Data Storage. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
The purpose of this discussion is for the team to provide feedback and ask questions about the draft primary-storage table design document. PR: #8
A brief document overview:
The document begins with a list of problems a design should solve. In summary: reference validation, query support, security, streaming out, simplicity of code base and developer experience, and performance.
The document lists several alternative designs as Options A-D.
GUIDs are clustered primary keys. The SQL Server community generally is not a fan of this. Option A spends some effort explaining that we've thought about this and why it should be ok. All the other options use Option A as a starting point, so it's important to understand it.GUIDPKs, go back and remove them". This was not a part of the original brainstorm, but I decided to anticipate that reaction and see what I could come up with. I went into it thinking the result would be inadequate, as I thought that with sequentialBIGINTPKs our access patterns would require seeks into every partition, as opposed to narrowing to a single one, and require at least one ugly index across all partitions. But, I eventually found a way to partition without deriving the partition key from aBIGINTPK, and to have only twoGUIDcolumns total. Option B can narrow to one partition for all our access patterns, and while those patterns require twoGUIDindexes, they can be both non-clustered and partition-aligned (index-per-partition rather than across all). This design should make the SQL Server community happy and is now my preferred alternative.Beta Was this translation helpful? Give feedback.
All reactions