Як можна використовувати бази даних NoSQL на зразок MongoDB для аналізу даних? Які функції в них можуть зробити аналіз даних швидшим та потужнішим?
Як можна використовувати бази даних NoSQL на зразок MongoDB для аналізу даних? Які функції в них можуть зробити аналіз даних швидшим та потужнішим?
Відповіді:
Якщо чесно сказати, більшість баз даних NoSQL не дуже добре підходять для додатків у великих даних. Для переважної більшості всіх великих додатків даних, продуктивність MongoDB по порівнянні з реляційною базою даних , як MySQL є значно бідно досить ордером триматися подалі від чого - то , як MongoDB повністю.
Зважаючи на це, є кілька дійсно корисних властивостей баз даних NoSQL, які, безумовно, працюють на вашу користь, коли ви працюєте з великими наборами даних, хоча шанс цих переваг перевищує загально низьку продуктивність NoSQL порівняно з SQL для читання інтенсивні операції (найбільш подібні до типових випадків використання великих даних) є низькими.
Особисто я можу запропонувати вам також ознайомитись із базами даних графіків, такими як Neo4j, які демонструють дійсно хороші показники для певних типів запитів, якщо ви хочете вибрати підхід для своїх додатків для наукових даних.
json
є повністю структуровані дані. Ви можете технічно робити будь-який аналіз даних на ньому, використовуючи базу даних NOSQL насправді не пов’язано. Існують інструменти, побудовані на вершині монго, як і аналітика.
Однією з переваг підходу NoSQL без схем є те, що ви не здійснюєте передчасні дії і можете застосувати правильну схему під час запиту, використовуючи відповідний інструмент, наприклад Apache Drill . Детальніше дивіться у цій презентації . MySQL не був би моїм першим вибором у налаштуваннях великих даних.
Розгляньте, спробуйте і, можливо, навіть використовуйте кілька баз даних. Тут не просто питання "вистави". Це дійсно підійде до ваших вимог. Скільки даних ви говорите? які дані? як швидко це вам потрібно? Ти більше читаєш важко або пишеш важко?
Ось одне, що ви не можете зробити в базі даних SQL: Обчислити настрої. http://www.slideshare.net/shift8/mongodb-machine-learning
Звичайно, швидкість у цьому випадку може бути недостатньо швидкою для ваших потреб, але це щось можливе. З деяким кешуванням певних сукупних значень це було цілком прийнятно навіть. Навіщо ти це робив? Зручність.
Зручність насправді - це те, в чому ти переконуєшся. Саме тому (на мою думку) були створені бази даних NoSQL. Ефективність теж звичайно, але я намагаюся знижувати показники та зосереджуватися більше на інших питаннях.
У базах даних MongoDB (та деяких інших NoSQL) є дуже потужні функції, такі як вбудована карта / зменшення. Це може призвести до економії витрат і часу, використовуючи щось на зразок Hadoop. Або це може надати прототип або MVP для започаткування більшого бізнесу.
Як щодо баз даних графіків? Вони теж "NoSQL". Подивіться на такі бази даних, як OrientDB. Якщо ви хочете сперечатися з продуктивністю ... Я не думаю, що ви мені покажете базу даних SQL, яка там швидше =) ... а в базах даних графіків є дійсно дивовижна програма, заснована на тому, що вам потрібно зробити.
Правило технології (та Інтернет) не надто зручно одним ділом. Ти обмежишся і налаштуєш себе на невдачу.