Marklogic的问题

SQL*_*SQL 3 marklogic

您好我是SQL Server DBA,我是MarkLogic的新手,我有几个问题.

  1. MarkLogic是否支持.net框架.这意味着我的开发人员正在使用.net framework 4.5并使用LINQ为sql生成脚本.他们是否能够生成MarkLogic脚本以执行针对MarkLogic数据库的CRUD操作?

  2. 我是否能够运行sql或sql之类的脚本来从MarkLogic数据库中检索数据(使用sql选择文档).我知道CouchBase支持像niql这样的东西.

  3. 水平缩放是否需要整个群集关闭?在群集仍处于联机状态时,我是否可以向MarkLogic群集添加或删除节点?

  4. MarkLogic是否支持即时恢复(数据库和文档).SQLServer具有事务日志备份的概念,它们允许我进行时间点还原.有没有类似的东西?

  5. 我不会将整个应用程序移动到MarkLogic,而只是SQLServer争用的部分内容.所以它将是一个混合模型.两阶段提交会有任何问题吗?(我的意思是来自SQLServer的提交以及来自MarkLogic的提交)

  6. 购买许可证是否需要最少数量的节点?以及群集所需的最小节点数是多少?

Dav*_*nis 6

文档数据库与关系数据库不同.比较它们并期望现有的工具只是工作是不太可能的场景.

1)MarkLogic可以将XML存储为文档源之一.LINQ有一定程度的XML支持(我不知道LINQ - 只是阅读教程).但这看起来你有可能是一个可接受的起点.

2)MarkLogic确实有一个SQL层 - 但它更适合BI需求.我建议您更深入地了解强大的REST API或XCC.net选项以及强大的搜索功能,并拥抱MarkLogic的全部功能.

3)群集无需关闭添加或删除节点.还有其他配置更改需要重新启动主机,但不是您提到的项目.

但请记住,还有其他方法可以根据需要进行扩展 - 比如添加额外的数据林,因此扩展不必总是=新节点.

4)是的.您可以使用日志将林(您的数据)回滚到特定时间点.有关详细信息,请访问:http://docs.marklogic.com/guide/admin/backup_restore#id_21622

5)没有跨国数据库喜欢交易长时间保持开放状态.只要你坚持这一点,就有好消息.在MarkLogic中,您甚至可以使用多个REST调用(https://docs.marklogic.com/guide/rest-dev/transactions)通过REST API执行多语句事务.所以我相信你在这里很好.

但是请记住,有一些方法可以让MarkLogic直接与您的SQL服务器通信 - 因此在设计集成解决方案时您可能还有其他选择.(https://developer.marklogic.com/code/mlsam)

6)可以使用MarkLogic的Sales讨论最小节点数 - 但是,有单节点安装.

对于"群集",它取决于你的意思.但是如果你正在考虑HA,那么你需要3个节点才能获得数据冗余.

  • 只是建立在David的观点#2上的评论.当我帮助一家大公司将部分应用程序从SQLServer迁移到MarkLogic时,部分原因是删除了它们的lucene层以简化其架构.一旦您想到搜索访问(特别是分面搜索)的好处,我同意您可能并不总是将SQL作为主要数据访问机制. (2认同)