我有一組複雜的XML對象即店鋪位置數據和屬性爲一系列高性能過濾從在存儲器中的數據
有些商店50個商店地點,一些存儲有1500個商店地點,部分20000個商店地點。
我想創建一個Java對象列表的店,讓我對店面位置
最重要的過濾器是緯度/長,緯度/長等數據過濾的商店位置;在所有情況下,我需要通過最大和最小緯度以及最大和最小長度示例找到所有商店:介於(40.146364,-75.406188)和(40.228694,-75.491295)之間
重複的緯度/經度值爲允許
我想我會創建一個對象與我用來篩選幾個關鍵的明確性(如緯度,經度,存儲類型代碼),並與完整的XML字符串
我的想法是,對象進入像ArrayList或其他類型的集合,並且關鍵字是Lat/long的String。
快速過濾收集很重要;它會每天發生數百萬次。創建集合發生在啓動時,如果過濾器速度很快,可能會降低性能。
lat/long過濾器具有很高的特異性;具有1500個商店位置的一個示例通常返回50個或更少的商店位置。
我想我會迭代集合,並解析經緯度的關鍵。如果lat/long在期望的範圍內,我會得到該對象並過濾其他不太具體的搜索條件。
由於查詢的數量和相同的查詢幾乎不會重複,直接查詢數據庫不是一個好主意。數據庫緩存不會發生,因爲每個查詢的參數將會不同(經緯度經常有5個小數位)。通過收集隆隆意味着我從DB轉移負載到應用服務器,但Oracle許可證和集羣是很多更昂貴/複雜比負載平衡一堆AWS或Tomcat實例的
選自對這些實現的任何想法要求和限制?
我打算做你所描述的事情;我想知道的是有沒有人有建議,將改善什麼和我打算如何存儲信息,以及我打算如何篩選結果集以符合搜索條件 – 2013-04-22 17:36:10