之前已經討論過這個問題,但我還沒有遇到明確的答案,它只是粗略地描述爲火和水,並留在那裏(來自我的研究)。與非關係(MySQL和MongoDB)的混合關係
關係和無關係數據庫是非常不同的,但它們都拉數據,對於我的項目,我打算使用無關係數據庫,但是這將安裝在許多地方,有些只能訪問MySQL(後來移動)。
那麼有可能迫使MySQL進入一種無關係模式?我已經使用了一種模仿它的模式,但它仍然保留着迄今爲止我無法克服的關係數據庫方面(過分依賴於ID等等,導致語法/數據結構混亂)。
那麼有沒有一個魔術圖書館會做到這一點?
這裏是我的數據庫架構的一個大概的輪廓:
1臺是「元」及其包含的ID,類型和日期等一起,共同搜索是普遍的基本領域。
1個包含「數據」的表,每個「列」有多行。它不能通過一個連接來完成,所以它的兩個查詢來獲取數據。
CREATE TABLE `meta` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`type` varchar(255) NOT NULL,
`state` tinyint(3) NOT NULL DEFAULT '0',
`created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8;
CREATE TABLE `data` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`meta_id` int(11) unsigned NOT NULL DEFAULT '0',
`index` varchar(255) NOT NULL,
`value` longtext NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8;
正如你可以看到不容易搜索,除非它通過ID /日期什麼的,還需要PHP佔用了大量鬆弛的順序和這樣的。不是我真正擔心的,而是要做一個真正的搜索,它需要轉儲整個數據庫,並通過它咀嚼.....
什麼樣的MySQL模式(或概念)可以最好地複製無關係模型(並仍然合理地處理搜索)?
如果存在這樣一個魔術開關,那麼除了MySQL – 2014-10-07 21:54:22
之外不需要任何數據庫,如果您願意,可以使用mysql作爲啞數據存儲系統。沒有什麼東西需要你擁有多個表,外鍵等......如果你願意,你可以有一個單一的字段/單個表/單個模式,將整個系統存儲爲一個不透明的blob。但是接下來的問題就變成了「爲什麼還要用數據庫開始呢?」 – 2014-10-07 21:55:53
它或多或少的向後兼容性。我使用的數據是非常動態的,它幾乎不可能正確使用mysql。我真的被困在一塊石頭和一個堅硬的地方之間......這個......大聲笑。我打算緩存它,但我也明白,它的性能可能也不足。 – 2014-10-07 21:58:16