KNIME是否支持persistent tables 可否不依赖数据库存储数据并替代数据库
我是KNIME新手,想咨询相关问题:该平台是否支持persistent tables,还是仅支持从不同数据源提取数据、不支持数据永久存储?是否可以完全在KNIME内部存储数据而无需使用数据库?如果可行该方案是否合理?KNIME能否完全替代数据库?
是否支持持久化存储,还是只能从外部数据源拉取数据
KNIME完全支持内部持久化存储,并非只能读取外部数据源的数据,常见的原生持久化方案有三种:
- 导出为专属的
KNIME Table格式(.knime后缀):完整保留KNIME表的元数据、特殊数据类型(如分子结构、自定义对象),读写速度远高于CSV、Excel等通用格式,可存储在本地任意目录或者工作流的工作区中,随时调用。 - 使用内置的Embedded H2 Database节点:无需额外安装任何数据库服务,即可在KNIME内部创建持久化表、执行标准SQL查询,所有数据存储在本地的H2数据库文件中,使用体验和普通外部数据库一致。
- 存储到KNIME本地仓库/Server仓库:可将处理好的表作为工作流附属资源存在仓库中,跨工作流调用时直接读取即可,不需要额外配置数据源。
能否完全不依赖外部数据库,只用KNIME内部存储
完全可以,上述三种方案都不需要你部署额外的外部数据库服务,所有数据都存储在本地磁盘或者KNIME工作区目录下,针对个人使用、小团队协作、中小体量数据集的场景,完全可以实现全流程数据存取都在KNIME内部完成。
纯内部存储的方案是否合理
是否合理取决于你的使用场景:
- 适用(合理)场景:个人数据分析实验、单表数据量在千万级以内、无多用户高频并发读写需求、需要保留KNIME专属特殊数据类型的场景,用内部存储反而能减少环境部署成本,使用起来更便捷。
- 不适用(不合理)场景:需要处理TB级超大数据集、多用户同时读写修改数据、需要严格的事务控制、细粒度数据权限管控的场景,纯内部存储无法满足需求。
KNIME能否完全替代数据库
不能,KNIME的核心定位是数据分析与工作流编排工具,不是专业的数据库管理系统,它的内部存储方案缺少很多数据库核心能力:
- 不支持高并发事务处理,多进程同时修改同一份内部存储数据极易出现冲突、数据损坏
- 没有成熟的企业级数据权限管控、自动备份恢复、灾备等能力
- 针对超大规模数据集的索引优化、复杂查询性能远不如专业的关系型/非关系型数据库
你可以把KNIME作为数据处理、分析、自动化流程的核心工具,但是如果有专业的结构化数据持久化、多用户共享数据管理的需求,还是建议配合专业数据库使用。
内容的提问来源于stack exchange,提问作者Dana
相关产品推荐
相关产品推荐

