Skip to content

Philosophy

Paul Stovell edited this page Apr 20, 2020 · 5 revisions

Nevermore exists to make it easier to work with JSON documents in SQL Server, effectively treating SQL as a document store.

While it's used internally by Octopus Deploy, our goal is to build something that's general purpose and useful outside of Octopus.

Our design philosophy is that Nevermore should:

  • Be easy to learn and not surprise you
  • Embrace the fact that we're using SQL, not hide it
  • Reduce code needed for common scenarios, but have good escape hatches
  • Be "open for extension, closed for modification"
  • Use as many SQL features as we can, except where JSON/documents make more sense
  • Be fast and use as little memory as possible
  • Be compatible with the JSON support in SQL Server

However, here's some things Nevermore is not trying to be:

  • Nevermore is not a big ORM - it's not trying to manage a unit of work/identity map or do anything too clever
  • Nevermore does not mean you don't have to learn SQL
Clone this wiki locally