Anytype——思源数据库的指路明灯

anytype 的介绍可以看这个视频:【Notion 要跌下神坛了?采用去中心化技术的类 Notion 笔记工具 Anytype,保护用户隐私且支援离线使用!-哔哩哔哩】 https://b23.tv/Tbpr0s5

这两天又重新上手摸了下 anytype,对 anytype 的自由奔放的数据库十分喜欢,来和大家分享分享、说道说道,盘一盘页面、属性和数据库的三角关系,重点只在于三角关系,notion 的 formula 啥的不在讨论范围内。

先吐槽一下 anytype,TMD 非要给自己的各种功能起个特立独行的名字,增加上手成本,就不能用些普罗大众已经习以为常的名词吗!我先用广为人知的 notion 以及诸位都在用的 siyuan 来辨析一下 anytype 里的名词和功能:

页面 属性 数据库
notion block,块 page,页面 property,属性 database,数据库
anytype block,块 object,对象
relation,关联 set,集合
siyuan block,块
document,文档
attribute,属性 database,数据库

notion、anytype 和思源的最小粒度都是块,不过 notion 和 anytype 的块只是纯粹的内容载体,并不能被赋予属性,而思源的属性能够触及到块粒度,点个赞 👍

anytype 的页面比较有意思,不叫页面,叫 object,因为按照 anytype 的使用哲学,每个页面都要强制分类到某一个 type,是骡是马,还是阿猫阿狗,都行,随便,但一定要分类!在 anytype 里新建页面就和我们现在丢垃圾一样要面临一个难题:这是什么垃圾?就问你烦不烦!当然也可以眼不见心不烦,不管有几个桶,我就只看到一个黑色的垃圾桶,我就把你一股脑儿丢到 page 里,怎么滴吧!这叫重器轻用!

有人不禁就要问了:为什么啊?为什么啊!为什么一定要分类啊!!

这就不得不说 anytype 的另一个要点了:每个页面都要有属性,必须有属性!这样才能搞些其他软件没有的骚操作。有了属性就能够根据属性来进行汇总、筛选、建立页面的联系了!一个 type 就是把一些属性绑在一起做成了一个预设,任君选用。页面有了属性,在码农的眼里,不是 object 还能是什么?

anytype:诸位看官,你看,你只要把小手这么一点这个阿猫 set,所有的阿猫就都在你的面前了。再一点这个阿狗 set,所有的阿狗随便挑了!除了我,还有谁能这么简单、这么轻松、这么随随便便就能做到?!NB 不 NB?!

其他软件:是是是,你最牛逼!我们都做不到!也就您,一上来就给用户霸王硬上弓搞垃圾分类,这天下啊,非您莫属啦 🫶

吐槽归吐槽,anytype 在搞三角关系上还是有两把刷子的!我们来看看 notion、anytype 和 siyuan 在数据库功能上的差异:

一个页面可以添加到多个数据库 不同数据库共享页面属性 数据库能够自动汇总符合条件的页面 数据库当做多维表使用
notion X X X X
anytype X
siyuan X X

开山祖师爷 notion 在上面的对比中不堪一击,干啥啥不行,要啥啥没有。这是由设计思路的差异决定的。notion 的数据库可以当做一种特殊的页面,你能够在 notion 的文档树中找到所有的数据库,数据库的每一行都是一个子页面,数据库是展现子文档的一种特殊方式。

而 anytype 和思源的数据库是独立于文档存在的。anytype 的数据库是文档属性的特殊展示方式和组合方式。思源的数据库是属性的特殊展示方式,甚至不需要文档的参与,但并不能对文档的属性进行任意组合。

  • 从自由度上来说,notion<siyuan<anytype。

    • 在 notion 中,文档属于数据库,属性也属于数据库,他们都依托于数据库而存在(在当前语境中,请忽略那些不属于数据库的、没有属性的文档)。

    • siyuan 在 notion 的基础上将数据库与文档解耦,属性虽然仍属于数据库,但文档已独立于数据库存在,文档可以自由选择加入哪些数据库、获得哪些数据库的属性。由于属性属于数据库,因此不同数据库之间的同名属性并不共享数据,加入多个数据库后文档的属性数量会急速膨胀。

    • anytype 最有魄力,不仅将文档从数据库中解放了出来,甚至将属性也从数据库中解放了。数据库、文档、属性是相互独立的个体,它们都属于工作空间,这是 anytype 数据库自由度高的根源。

      • 不同数据库可以从工作空间获得同一条属性,这些数据库将共享这条属性,在一个数据库中对其进行修改,该属性在其他数据库中也会相应变化。
      • 一个文档即使不加入数据库也能直接从工作空间获得属性,要多少有多少,没有就自己编一个。
      • 当一个文档和一个数据库拥有了相同的属性,这个文档就会自动加入这个数据库。
      • 简直完美!这就是我想要的思源数据库!
      • anytype 的属性虽然从概念上是独立于文档的,但脱离文档的属性也只是一个抽象概念,要化虚为实、有具体的值,还是要和文档相结合。

这时候可能有人要跳出来说了:瞎了你的狗眼,思源的属性也不是都属于数据库的,每个块还有自己的自定义属性呢!

你说的对!我完全赞同这个说法!D 大为什么要在块属性之外又搞了一套数据库属性啊!gun!直接用块属性的话至少能实现不同的数据库共享属性啊!再加把油给数据库加上 SQL 查询功能不就连自动汇总页面的功能都实现了吗!把 anytype 的底裤都脱掉!还有 anytype 什么事!

以上就是我心目中理想的数据库,和大家分享到这里。


@88250 最后提个需求:赶紧做个数据库管理面板吧!

notion 的数据库能够在文档树找到,anytype 的数据库能够在侧边栏的 Sets 组件找到,siyuan 的数据库只能去 av 文件夹里找,这可不得行,被人看到了毁我清白 👻 把文件夹名称改成学习资料也好啊trollface

  • Anytype
    3 引用 • 31 回帖 • 1 关注
  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    20156 引用 • 77723 回帖 • 2 关注
1 操作
qiancang 在 2024-05-06 21:36:20 更新了该帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • 88250

    点 数据库角标 可以直接弹出数据库属性面板页签。

  • 其他回帖
  • 直接用块属性的话至少能实现不同的数据库共享属性啊!再加把油给数据库加上 SQL 查询功能不就连自动汇总页面的功能都实现了吗

    这个确实是好思路,就是估计还是两者合并起来相当于重构底层了

    另外支持做个数据库管理面板,哪怕能做个展示页面列出来也可以,这样就不用靠文档树点进文档里找了,毕竟思源数据库是与文档分家的,有个单独的管理页面应该会很方便

  • qiancang

    这个比较简单粗暴了,也不是不行 😄

    不过最好同时对自定义属性同步进行升级,自定义属性增加数据类型的定义,这样在数据库里就可以支持数据类型的设置了,从向前兼容的角度来说,以前旧的自定义属性全部当作 text 类型处理。

  • 鼠标操作至少需要点击三次才能进入编辑/查看界面(右键-> 属性-> 自定义属性).

    可以改用 Shift + 鼠标左键 点击块标,速度至少快一倍

  • 查看全部回帖

推荐标签 标签

  • B3log

    B3log 是一个开源组织,名字来源于“Bulletin Board Blog”缩写,目标是将独立博客与论坛结合,形成一种新的网络社区体验,详细请看 B3log 构思。目前 B3log 已经开源了多款产品:SymSoloVditor思源笔记

    1083 引用 • 3461 回帖 • 257 关注
  • 自由行
    1 关注
  • FreeMarker

    FreeMarker 是一款好用且功能强大的 Java 模版引擎。

    23 引用 • 20 回帖 • 429 关注
  • 禅道

    禅道是一款国产的开源项目管理软件,她的核心管理思想基于敏捷方法 scrum,内置了产品管理和项目管理,同时又根据国内研发现状补充了测试管理、计划管理、发布管理、文档管理、事务管理等功能,在一个软件中就可以将软件研发中的需求、任务、bug、用例、计划、发布等要素有序的跟踪管理起来,完整地覆盖了项目管理的核心流程。

    6 引用 • 15 回帖 • 182 关注
  • OkHttp

    OkHttp 是一款 HTTP & HTTP/2 客户端库,专为 Android 和 Java 应用打造。

    16 引用 • 6 回帖 • 48 关注
  • 人工智能

    人工智能(Artificial Intelligence)是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门技术科学。

    77 引用 • 159 回帖
  • Kafka

    Kafka 是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。 这种动作(网页浏览,搜索和其他用户的行动)是现代系统中许多功能的基础。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。

    35 引用 • 35 回帖
  • GitLab

    GitLab 是利用 Ruby 一个开源的版本管理系统,实现一个自托管的 Git 项目仓库,可通过 Web 界面操作公开或私有项目。

    46 引用 • 72 回帖
  • FFmpeg

    FFmpeg 是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。

    23 引用 • 31 回帖 • 8 关注
  • Quicker

    Quicker 您的指尖工具箱!操作更少,收获更多!

    26 引用 • 85 回帖
  • Python

    Python 是一种面向对象、直译式电脑编程语言,具有近二十年的发展历史,成熟且稳定。它包含了一组完善而且容易理解的标准库,能够轻松完成很多常见的任务。它的语法简捷和清晰,尽量使用无异义的英语单词,与其它大多数程序设计语言使用大括号不一样,它使用缩进来定义语句块。

    536 引用 • 672 回帖
  • 创业

    你比 99% 的人都优秀么?

    83 引用 • 1398 回帖
  • IDEA

    IDEA 全称 IntelliJ IDEA,是一款 Java 语言开发的集成环境,在业界被公认为最好的 Java 开发工具之一。IDEA 是 JetBrains 公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主。

    180 引用 • 400 回帖 • 1 关注
  • Sandbox

    如果帖子标签含有 Sandbox ,则该帖子会被视为“测试帖”,主要用于测试社区功能,排查 bug 等,该标签下内容不定期进行清理。

    386 引用 • 1226 回帖 • 593 关注
  • Google

    Google(Google Inc.,NASDAQ:GOOG)是一家美国上市公司(公有股份公司),于 1998 年 9 月 7 日以私有股份公司的形式创立,设计并管理一个互联网搜索引擎。Google 公司的总部称作“Googleplex”,它位于加利福尼亚山景城。Google 目前被公认为是全球规模最大的搜索引擎,它提供了简单易用的免费服务。不作恶(Don't be evil)是谷歌公司的一项非正式的公司口号。

    49 引用 • 192 回帖
  • ActiveMQ

    ActiveMQ 是 Apache 旗下的一款开源消息总线系统,它完整实现了 JMS 规范,是一个企业级的消息中间件。

    19 引用 • 13 回帖 • 641 关注
  • 开源中国

    开源中国是目前中国最大的开源技术社区。传播开源的理念,推广开源项目,为 IT 开发者提供了一个发现、使用、并交流开源技术的平台。目前开源中国社区已收录超过两万款开源软件。

    7 引用 • 86 回帖
  • Oracle

    Oracle(甲骨文)公司,全称甲骨文股份有限公司(甲骨文软件系统有限公司),是全球最大的企业级软件公司,总部位于美国加利福尼亚州的红木滩。1989 年正式进入中国市场。2013 年,甲骨文已超越 IBM,成为继 Microsoft 后全球第二大软件公司。

    103 引用 • 126 回帖 • 443 关注
  • IPFS

    IPFS(InterPlanetary File System,星际文件系统)是永久的、去中心化保存和共享文件的方法,这是一种内容可寻址、版本化、点对点超媒体的分布式协议。请浏览 IPFS 入门笔记了解更多细节。

    20 引用 • 245 回帖 • 239 关注
  • Linux

    Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 Unix 的多用户、多任务、支持多线程和多 CPU 的操作系统。它能运行主要的 Unix 工具软件、应用程序和网络协议,并支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

    923 引用 • 936 回帖
  • 爬虫

    网络爬虫(Spider、Crawler),是一种按照一定的规则,自动地抓取万维网信息的程序。

    106 引用 • 275 回帖
  • frp

    frp 是一个可用于内网穿透的高性能的反向代理应用,支持 TCP、UDP、 HTTP 和 HTTPS 协议。

    16 引用 • 7 回帖 • 1 关注
  • Love2D

    Love2D 是一个开源的, 跨平台的 2D 游戏引擎。使用纯 Lua 脚本来进行游戏开发。目前支持的平台有 Windows, Mac OS X, Linux, Android 和 iOS。

    14 引用 • 53 回帖 • 520 关注
  • LeetCode

    LeetCode(力扣)是一个全球极客挚爱的高质量技术成长平台,想要学习和提升专业能力从这里开始,充足技术干货等你来啃,轻松拿下 Dream Offer!

    209 引用 • 72 回帖
  • Ant-Design

    Ant Design 是服务于企业级产品的设计体系,基于确定和自然的设计价值观上的模块化解决方案,让设计者和开发者专注于更好的用户体验。

    17 引用 • 23 回帖 • 3 关注
  • 运维

    互联网运维工作,以服务为中心,以稳定、安全、高效为三个基本点,确保公司的互联网业务能够 7×24 小时为用户提供高质量的服务。

    148 引用 • 257 回帖
  • Openfire

    Openfire 是开源的、基于可拓展通讯和表示协议 (XMPP)、采用 Java 编程语言开发的实时协作服务器。Openfire 的效率很高,单台服务器可支持上万并发用户。

    6 引用 • 7 回帖 • 94 关注