一个差劲的系统设计会给后来人带来无数唾骂;一个好的设计会给后来人带来不少赞许,但现实生活中这似乎是少之又少,最近一直在研究公司数据仓库方面的建立情况,在思考如何把销售、客户、产品、用户体验等数据集中起来,构造一个横向的系统分析。 查阅了很多这方面的书籍,颇有收获,《数据仓库原理、设计与应用》陈京明的,另一本我觉得是非常不错的书,就是《Dimensional Data Warehousing with MySQL: A Tutorial》,百度里面搜“数据仓库 mysql”有别人翻译的文章,全部是实例化教学,可惜作者没翻译完,啃了一段时间的英语,因为没有去动手应用,现在都忘了说了些撒,不过对于初学者是本不错的书。
SELECT year, product_name, customer_city, SUM(order_amount), COUNT(*)
FROM
sales_order_fact a
, date_dim b
, product_dim c
, customer_dim d
WHERE
a.order_date_sk = b.date_sk
AND a.product_sk = c.product_sk
AND a.customer_sk = d.customer_sk
GROUP BY year, product_name, customer_city
ORDER BY year, product_name, customer_city
;
相信大家如果要在VM上装大型软件的时候,有时候会有内存不够的问题,可能会报 out of memory的错误。 明明已经分了2G(一般的32bitXP电脑即便有4G内存也只能识别3G,分2G给VM已经很大方了)给VM,它还认为不够。 这个问题让笔者烦恼了一阵子,经过多次的实验,有一个解决的办法。
首先在linux命令行中 打进 free -m(以M为单位显示内存状况),会出现
total used free shared buffers cached
Mem: 2172 2163 9 0 5 187
-/+ buffers/cache: 1969 203
Swap: 3999 2076 1923
笔者在网上找了很多关于释放内存的资料,但是效果不明显。后来重装了个系统,一看,发现swap的值变大了,也没报out of memory错了。原来这个问题有另一种解决的办法,希望高手看到不要见笑,毕竟笔者刚接触linux不久,呵呵。
反正我们的物理内存Mem是固定了,就可以想办法增加Swap的值。至于怎么增大swap,待续。。。。。