Sybase IQ 单写入器?
我听到许多同事提到 Sybase IQ 只能有一个写入器这一事实。我正在努力在网上找到证实或否认这一点的文档,那么有人能够在这方面澄清记录吗?
我的哪些发现让我想到,也许在 IQ 12 上,您只允许有一个写入者,但在 IQ 15 上,您可以在每个表上有一个写入者?这是真的吗?
任何澄清将不胜感激。
谢谢
I've heard a number of my colleagues make reference to the fact that Sybase IQ can only have a single writer. I'm struggling to find documentation on the web that either confirms or denies this so would someone be able to set the record straight in this regard?
What findings I have made lead me to think that perhaps on IQ 12 you were only allowed a single writer but on IQ 15 you are allowed a single writer per table? Is this true.
Any clarification would be much appreciated.
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
Sybase IQ 12.7 仅支持单个写入器节点,但支持多个读取器节点。 Sybase IQ 15 允许多个写入器和读取器节点。写入节点具有对数据库的完全写入访问权限,并且在表级别没有限制。
谢谢
马克·德拉弗兰尼尔
赛贝斯公司
Sybase IQ 12.7 only supports a single writer node but multiple reader nodes. Sybase IQ 15 allows both multiple writer and reader nodes. The writer nodes have full write access to the database and there are no restrictions at the table level.
Thanks
Mark DeLaFranier
Sybase, Inc.
马克是在多路复用的背景下回答你的问题的。多路复用是指在不同的主机上有许多节点,可以分解这些节点之间的工作负载。在这种类型的 IQ 环境中,只能有 1 个“写入”节点将表更改传播到为所有其他节点提供数据的 SAN。即,您的 ETL 进程将通过“写入”节点写入数据,但所有读取节点都可用于计算/分析。
但是,我认为您的问题与 Sybase IQ 处理表内数据更改的独特方式有关。它有一种独特的方式来更新/删除/插入记录到表中,这就是表“版本控制”。由于 IQ 是列式存储而不是行存储,因此它实际上将您的更改应用到您正在修改的表的“新”版本中,然后在提交时将更改合并到原始表中。
这意味着一次只能有 1 个进程对表进行更改。
Mark was answering your question in the context of multiplexing. Multiplexing is when you have many nodes on separate hosts that can breakup workloads between those nodes. In this type of IQ environment, there can only be 1 "write" node that disseminates table changes to the SAN that feeds all the other nodes. IE your ETL process would write data via your "write" node, but all the read nodes are available for computation/analytics.
However, I think your question had to do with the unique way Sybase IQ handles changes to the data inside a table. It has a unique way of updating/deleting/inserting records into a table, which is table "versioning". Since IQ is a columnar store not a row store, it actually applies your changes in a "new" version of the table you are modifying, then on commit, merges the changes into the original table.
This means only 1 process should be making changes to a table at a time.