The dark side of NoSQL

There is a dark side to most of the current NoSQL databases. People rarely talk about it. They talk about performance, about how easy schemaless databases are to use. About nice APIs. They are mostly developers and not operation and system administrators. No-one asks those. But it’s there where rubber hits the road.

The three problems no-one talks about – almost noone, I had a good talk with the Infinispan lead [1] – are:

  • ad hoc data fixing – either no query language available or no skills
  • ad hoc reporting – either no query language available or no in-house skills
  • data export – sometimes no API way to access all data

In an insightful comment to my blog post “Essential storage tradeoff: Simple Reads vs. Simple Writes”, Eric Z. Beard, VP Engineering at Loop, wrote:

My application relies on hundreds of queries that need to run in real-time against all of that transactional data – no offline cubes or Hadoop clusters. I’m considering a jump to NoSql, but the lack of ad-hoc queries against live data is just a killer. I write probably a dozen ad-hoc queries a week to resolve support issues, and they normally need to run “right now!” I might be analyzing tens of millions of records in several different tables or fixing some field that got corrupted by a bug in the software. How do you do that with a NoSql system?

  1. Data export: NoSQL data bases are differently affected by those problems. Each of them is unique. With some it’s easy to export all our data, mostly the non distributed ones (CouchDB, MongoDB, Tokyo Tyrant) compared to the more difficult ones (Voldemort, Cassandra). Voldemort looks especially weak here.
  2. Ad hoc data fixing: With the non-distributed NoSQL stores, which do posess a query and manipulation language, ad hoc fixing is easier, while it is harder with distributed ones (Voldemort, Cassandra).
  3. Ad hoc reporting: The same with ad hoc reporting. The better the query capabilities (CouchDB, MongoDB) the easier ad hoc reporting becomes. For some of those reporting woes Hadoop is a solution. But as the Scala Swarm author Ian Clarke notes, not every problem is applicable to map/reduce. Either way you need to train customers and their expectations as they have become addicted to ad hoc reporting. This is not only a technical question, but a cultural one.

One solution is to split data that needs to be queried or reported (User, Login, Order, Money) and data which needs best performance (app data, social network data). Use a tradition SQL database for the first kind of data, and a fast, distributed NoSQL store for the second kind of data. Joining will be difficult, you need to support more different systems and skills are an issue. But the three problems can be solved this way.

What is your NoSQL strategy? Please leave a comment, I would like to know.

[1] they plan a distributed query language for ad hoc reporting in distributed environments

333 thoughts on “The dark side of NoSQL”

  1. Pingback: hoverboard
  2. Pingback: nike air max pas
  3. Pingback: nike free run 2
  4. Pingback: 財布コピー
  5. Pingback: ugg baby
  6. Pingback: クロエ twitter
  7. Pingback: teeda リンク do
  8. Pingback: hoverboard
  9. Pingback: hoverboard
  10. Pingback: buy fifa coin
  11. Pingback: fifa 14 coins bank
  12. Pingback: air max
  13. Pingback: ????? ???? ?? ???
  14. Pingback: nike tn pas cher
  15. Pingback: skinuri cs
  16. Pingback: cs go items
  17. Pingback: cs go all stickers
  18. Pingback: cs go new cases
  19. Pingback: cs go global
  20. Pingback: nike pas cher
  21. Pingback: nike air max
  22. Pingback: cs go buy
  23. Pingback: how to scam csgo
  24. Pingback: csgo skins free
  25. Pingback: nike blazer
  26. Pingback: new
  27. Pingback: fucoxanthin
  28. Pingback: geniux pills
  29. Pingback: intelligex
  30. Pingback: intellux
  31. Pingback: probrain
  32. Pingback: radian-c
  33. Pingback: red rhino
  34. Pingback: supreme antler
  35. Pingback: genius reviews
  36. Pingback: testomax
  37. Pingback: TRACKR BRAVO
  38. Pingback: alpha f1
  39. Pingback: alpha man pro
  40. Pingback: alpha xtrm
  41. Pingback: caralluma extract
  42. Pingback: anabolic rx24
  43. Pingback: cognifocus
  44. Pingback: garcinia melt
  45. Pingback: max synapse
  46. Pingback: nerventrax
  47. Pingback: nutra forskolin
  48. Pingback: testorip
  49. Pingback: testoroar
  50. Pingback: forskolin slim
  51. Pingback: garcinia cleanse
  52. Pingback: garcinia xt
  53. Pingback: vitapulse
  54. Pingback: Vita pulse
  55. Pingback: vitapulse reviews
  56. Pingback: pure colon detox
  57. Pingback: perfect biotics
  58. Pingback: reviews vitapulse
  59. Pingback: vitapulse vitamins
  60. Pingback: vitapulse scam
  61. Pingback: vitapulse
  62. Pingback: vitapulse
  63. Pingback: vita pulse
  64. Pingback: probiotic america
  65. Pingback: traits
  66. Pingback: Alexapure Pro
  67. Pingback: Test x180 Ignite
  68. Pingback: Ecomaxx
  69. Pingback: T90 Xplode Reviews
  70. Pingback: Maxtropin Reviews
  71. Pingback: Tea Tox Reviews
  72. Pingback: MegaDrox
  73. Pingback: Test X180
  74. Pingback: Breast Actives
  75. Pingback: vitapulse
  76. Pingback: recapture review
  77. Pingback: probiotic america
  78. Pingback: Perfect Biotics
  79. Pingback: niagen anti aging
  80. Pingback: his explanation
  81. Pingback: Get More Info
  82. Pingback: Survival Md Review
  83. Pingback: news
  84. Pingback: imp source
  85. Pingback: Source
  86. Pingback: navigate here
  87. Pingback: Get More Info
  88. Pingback: 25k Firesale
  89. Pingback: useful reference
  90. Pingback: see this
  91. Pingback: try here
  92. Pingback: see this
  93. Pingback: original site
  94. Pingback: see this here
  95. Pingback: dig this
  96. Pingback: here
  97. Pingback: my response
  98. Pingback: my response
  99. Pingback: Fut Millionaire
  100. Pingback: Forex Trendy
  101. Pingback: look at this site
  102. Pingback: additional hints
  103. Pingback: original site
  104. Pingback: Visit Website
  105. Pingback: dig this
  106. Pingback: internet
  107. Pingback: other
  108. Pingback: dig this
  109. Pingback: more info
  110. Pingback: click here
  111. Pingback: tires
  112. Pingback: rims
  113. Pingback: wheels
  114. Pingback: read more
  115. Pingback: read more
  116. Pingback: read more
  117. Pingback: click here

Comments are closed.