Saturday, July 9, 2011
Friday, July 8, 2011
Простий ETL tool
Інколи виникає потреба взяти якісь дані з однієї бази даних і перенести їх в іншу. Поки така потреба виникає лише інколи, можна цілком обходитися консольним клієнтом самої СУБД.
Проблема виникає, якщо дані потрібно переносити:
Проблема виникає, якщо дані потрібно переносити:
- регулярно
- в СУБД іншого типу (mysql -> postgresql)
- з не СУБД в СУБД (csv -> sql)
- якось модифікувати дані при переносі
Sunday, June 26, 2011
В публічному доступі існує гарна база стартапів http://www.crunchbase.com/. Вам доступна купа корисної інформації про ту чи іншу технологічну компанію.
Також існує набір скриптів, який дозволяє завантажити дані у форматі, придатному для подальшого аналізу - https://github.com/petewarden/crunchcrawl
Чим ми власне і зайнялися цієї неділі. Результати більш професійного аналізу з допомогою R будуть пізніше в блозі моєї дружини (ми вирішили провести два незалежних дослідження і пізніше порівняти висновки).
Одже, для дослідження я вибрав з повної бази в 60 тисяч проектів ті, які отримали хоч якесь фінансування, і проаналізувати саме їх. Крім того вибірку було обмежено групами, в які потрапило не меншще 50 проектів
Одже:
Також існує набір скриптів, який дозволяє завантажити дані у форматі, придатному для подальшого аналізу - https://github.com/petewarden/crunchcrawl
Чим ми власне і зайнялися цієї неділі. Результати більш професійного аналізу з допомогою R будуть пізніше в блозі моєї дружини (ми вирішили провести два незалежних дослідження і пізніше порівняти висновки).
Одже, для дослідження я вибрав з повної бази в 60 тисяч проектів ті, які отримали хоч якесь фінансування, і проаналізувати саме їх. Крім того вибірку було обмежено групами, в які потрапило не меншще 50 проектів
crunchbase=# select country_code, count(*), min(amount_raised::float) / 1000 as min, max(amount_raised::float) / 1000 as max, median(amount_raised::float::int8)::int8 / 1000 as median, stddev(amount_raised::float) from org where amount_raised::float > 0 group by country_code having count(*) > 49 order by median desc; country_code | count | min | max | median | stddev --------------+-------+-----+---------+--------+------------------ CHN | 162 | 7 | 478000 | 12000 | 54822859.7331082 USA | 7936 | 1 | 5620000 | 6972 | 81810808.5188822 IND | 162 | 6 | 300000 | 6555 | 30929815.0756823 CHE | 77 | 10 | 515000 | 5600 | 69345180.8354862 CAN | 345 | 1.2 | 350000 | 5000 | 24191815.1134509 ISR | 282 | 20 | 115000 | 4300 | 14798301.8257697 IRL | 64 | 70 | 50250 | 3900 | 8616604.81320482 DNK | 58 | 10 | 160400 | 3865 | 28943480.142572 DEU | 154 | 15 | 158700 | 3185 | 18653788.5816171 GBR | 526 | 10 | 1275000 | 3035 | 63979428.8180331 FRA | 306 | 50 | 149000 | 2935 | 12570166.9277194 SWE | 104 | 35 | 79960 | 2595 | 9937558.03216955 ESP | 83 | 15 | 218400 | 1930 | 25105973.5354224 AUS | 67 | 7 | 90000 | 1800 | 14347652.0292516(14 rows)
Одже:
- за найвищою ціною продано американський проект (5 млрд долларів - цікаво що це було??? - треба порити)
- в загальному більші кошти отримують китайські (медіана 12 мільйонів доларів) і американські (медіана 7 мільйонів доларів) проекти
- в той самий час середнє відхилення (хаотичність оцінки проектів) найвища в америці.
crunchbase=# select category_code, count(*), min(amount_raised::float) / 1000 as min, max(amount_raised::float) / 1000 as max, median(amount_raised::float::int8)::int8 / 1000 as median from org where amount_raised::float > 0 group by category_code having count(*) > 49 order by 5 desc; category_code | count | min | max | median ------------------+-------+-------+------------+-------- semiconductor | 335 | 35 | 540000 | 13500 biotech | 1300 | 10 | 598000 | 12086 cleantech | 516 | 10 | 1200000 | 12000 network_hosting | 277 | 10 | 300000 | 9400 security | 158 | 25 | 565000 | 8050 hardware | 451 | 1.1 | 409900 | 7650 enterprise | 429 | 5 | 217930 | 7000 mobile | 638 | 1 | 5620000 | 6000 advertising | 424 | 1.5 | 248000 | 5750 public_relations | 372 | 10 | 283000 | 5735 software | 2219 | 5 | 1275000 | 5387 consulting | 131 | 3 | 100000 | 4575 | 597 | 2.667 | 260000 | 4000 other | 501 | 1 | 495000 | 4000 games_video | 580 | 5 | 519000 | 4000 search | 137 | 2 | 223000 | 4000 web | 1443 | 1.2 | 2335700 | 3000 ecommerce | 407 | 2.5 | 503751.458 | 2520(18 rows)
- Не дивно, що "піднятися" найвища імовірність на напівпровідниках і біотехнологіях.
- Найтяжче заробити на є-комерсі. Але саме там відбулася найдорожча продажа.
В голові крутиться кілька більш цікавих досліджень. Спробую їх реалізувати ближчим часом, якщо поточні справи не закрутять...
Wednesday, May 4, 2011
Friday, April 29, 2011
CAP, BASE and other
- http://frutik.blogspot.com/2010/02/blog-post.html
- http://queue.acm.org/detail.cfm?id=1394128
- http://highscalability.com/unorthodox-approach-database-design-coming-shard
- http://www.25hoursaday.com/weblog/2009/01/16/BuildingScalableDatabasesProsAndConsOfVariousDatabaseShardingSchemes.aspx
- http://www.mysqlperformanceblog.com/2009/08/06/why-you-dont-want-to-shard/
- http://www.addsimplicity.com/adding_simplicity_an_engi/2008/08/shard-lessons.html
Tuesday, April 12, 2011
Subscribe to:
Posts (Atom)