假设一个mp3搜索引擎收录了2^24首歌曲,并记录了可收听这些歌曲的2^30条URL,但每首歌的URL不超过2^10个。系统会定期检查这些URL,如果一个URL不可用则不出现在搜索结果中。现在歌曲名和URL分别通过整型的SONG_ID和URL_ID唯一确定。对该系统有如下需求: 
1) 通过SONG_ID搜索一首歌的URL_ID,给出URL_ID计数和列表 
2) 给定一个SONG_ID,为其添加一个新的URL_ID 
3) 添加一个新的SONG_ID 
4) 给定一个URL_ID,将其置为不可用 
限制条件:内存占用不超过1G,单个文件大小不超过2G,一个目录下的文件数不超过128个。为获得最佳性能,请说明设计的数据结构、搜索算法,以及资源消耗。如果系统数据量扩大,该如何多机分布处理?