按格式归类

发现自己什么东西都宁愿用文件系统而不是数据库

文件系统比较轻,而数据库系统比较重,比较fragile

用文件系统就得想好path convention

数据该如何用目录组织

之前是按照业务逻辑/实体来组织的

但是每新写一个工具,更新一个文件格式,发现文件最好放到不同的地方,起码得用不同的文件名或者后缀名

后来想做一件事情,就是按照pipeline不同的phase来弄workflow,而不是一个实体一个实体的弄。一个实体可能有不同的pipeline逻辑。如果根据实体来弄,会出现很多的冗余代码,而且管理费劲。感觉很adhoc。

按照pipeline的phase比较简单,清楚。数据处理,管理和查询也更方便。

就如同不同的格式用不同的数据库表。

打一个比方就是图像专门放一个目录,视频另外放一个目录。而不是混到一起。这两个是不同的格式,文件大小差异很大。视频空间太大,可以全部上传youtube,然后删掉。图像可以为了保持精度,单独保存也不会太占地方。

所以现在倾向于按照工具来组织数据。这样写pipeline方便很多。一个工具的内容单独弄一个目录,里面可以再按照实体分更深的目录。

按照实体是纵向集成,而按照工具或者格式则是横向集成。

当实体逐渐变多时,横向集成的优势就显露出来。也就是所谓的平台吧。

后来发现源代码也是如此,脚本跟脚本放到一起,c++代码跟c++代码放到一起,java跟java代码放到一起。这样共享方便很多。

所以底层架构决定上层建筑。

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s