未来软件是什么样呢?数据库篇(转载)
觀點3:數據庫就是對象數組(Y10)
如果對《未來軟件是什么樣子?-數據庫篇》中的觀點1和觀點2表示認同,那請讓我們繼續,否則就當我扯淡吧。
????????
既然數據庫都放在內存中了,那么我們索性把它作為應用程序更能理解的對象不就行了嗎?因為它們有太多的相同點,例如表中的字段可以對應為對象的屬性等。
比如硬盤中有一個【人類】的數據表,可以在內存中解析為一個【人類】對象數組,并為之建立一系列的關聯對象組,如【公司】,【學?!?#xff0c;這樣我們也可以很方便的查詢到某個人在什么時候,在哪里上過什么學校,什么時候在哪個公司供職過。
現在的關系數據庫的功能,數據對象也能一一實現:
存儲過程?????? ――?????? 過程
自定義函數??? ――?????? 函數
觸發器?????????? ――?????? 事件
?
面向對象很重要的概念是抽象,是繼承,是重用,那么我們可以很簡單的從【人類】數據對象數組中繼承,添加了“超能力”的屬性,并派生出一個【超人】對象數組,它和父親對象組【人類】可以保持某種關聯,也可以完全摒棄這種衍生關系。因為好比人類和黑猩猩擁有共同的祖先,但是恐怕一般還是會把他們分為2個完全不同的種別。但無可否認,他們都是起源于單細胞生物。
這樣我們就可以馬上對【超人】對象數組進行我們的操作,比如紐約發現生化怪物,急切等待救援,我們馬上為超人1號添加“蜘蛛俠”的屬性前去拯救。
當然,【超人】這個對象數組和他們的所作所為,也會同步到硬盤上的【超人】數據庫,以免他們的“偉績”被遺漏。(有點像科幻小說了,雞蛋伺候!呵呵)
?
觀點1中數據庫和開發環境的統一,在這種模式下,也可以很好的得到統一,因為現在的select,insert,update,delete針對的就是對象數組的集合。只要內存夠大,或者說容量夠大,我們完全可以把常用的【人類】表放在應用程序1和應用程序2中共同使用,實現了數據庫表(即對象數組)的共享和重用。應用程序1和應用程序2只要通過了【人類】對象數組的讀寫等合法性認證,就可以進行讀或寫的操作。同樣對【超人】對象數組也一樣。
Saas模式下的開發,或許需要更深入的研究一下數據表的繼承和重用。
?
畫了一個簡圖,以便大家理解我說的意思。
?
?
?
觀點4:人類的已知領域就是一個最大的數據庫(Y100A)
?
如果把存儲的容量比為一個【小型宇宙模型】,那么它就是有容乃大,只要夠大,我們可以把【人類】【植物】【動物】等等所有已知的萬物都放在【小型宇宙模型】中,我們應用程序的功能就是指揮這些模擬的世界進行運轉。當然需要秩序的規范,聯想公司的員工當然要到聯想上班,惠普的員工應該到惠普上班,所以要加以規范,這就是應用程序對數據庫的訪問權限進行控制。比如現在聯想的企業管理軟件,當然不能夠修改惠普的員工績效。否則會亂套了。
?
國際標準化組織,應該建立一套中心數據庫,存儲包括人類在內所有的人類已知的領域。并開放其查詢,新增,更新,刪除等接口,通過認證,讓有權限的機構、組織進行數據庫更新和維護。
這樣,我們在新浪上叫A,搜狐上叫B,CSDN上叫C,博客園上又叫D的問題,就能夠迎刃而解了。統一就叫AAAA,是你在【小型宇宙模型】中的唯一標識。
而聯想公司的內部管理系統,就是這【小型宇宙模型】中的一個小集合而已,可以與現實世界一一對應起來。
?
這樣做會有以下好處和注意事項:
1)當前各個小數據庫是最大的數據庫冗余,建立一個統一的虛擬世界的模型,有助于刪除這種冗余。國家,省會就是這么一些,沒有必要在聯想和惠普的系統中各自維護一套。把這個工作交給標準化組織。
2)最常用的數據放在最快的地方,好鋼要使在刀刃上。
3)或許到時的貪污腐敗將無所遁形,國家幸甚,民族幸甚啊:)
?
如果有一天能夠這樣天下數據一統,功績堪比秦始皇統一度量衡啊,可謂人類發展的一個里程碑。
?
轉載于:https://www.cnblogs.com/gjy_2008/archive/2008/10/13/1310303.html
總結
以上是生活随笔為你收集整理的未来软件是什么样呢?数据库篇(转载)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linq to sql和lambda
- 下一篇: web.config中的session配