I’m building out a new kind of distributed, multi-modal database from scratch, informed by lots of existing solutions, and I’m about to embark on the most crucial part of its development: range keys for the monolithic kv store. The internal architecture for the range keys is going to be an extremely large, detailed, complicated subsystem that touches every part of the system. I’m working through the high-level architecture of it right now, but I have a problem: it’s an open source project that I’m working on alone.

I have no one to really bounce big, abstract questions off of, and I’m starting to hit the point where I need sanity checks for architecture. I checked with the Code Review SE, and the FAQ said to bring software architecture questions here. I’m totally fine doing that, but I’m at the point where I’m realizing the architecture for the range keys is absolutely massive. There will be multiple diagrams, detailed workflow state machines, and lots of questions mingled into the architecture. I can submit bits and pieces of the architecture for individual review, but I’m pretty confident in the individual pieces being sane architectures as they’re just references from papers or other tried & true implementations. My concern is that the overall architecture is insane and I want validations or pushbacks to ensure I’m not losing my mind.

I don’t to break the rules by asking multiple questions in a single post, and I don’t want to take advantage of the community by asking a massive question. How would you recommend I post the architecture for review, and/or is there a better place to ask for that type of code review?

  • 2
    In practice, the limit here is whether you can capture the attention of potential answerers. Long and complicated questions are less likely to receive answers. Also, while design reviews can be on topic, make sure that it is expressed as an objectively answerable question. This can sometimes be achieved by focusing on an aspect of the problem you're trying to solve, and presenting your design as a partial solution. Of course, decomposing problems is often the most difficult part of solving them, so the ability to ask good questions correlates with not having to ask those questions…
    – amon
    Commented Jul 22, 2023 at 21:49
  • 1
    Does this answer your question? Are Design Review questions on-topic?
    – gnat
    Commented Jul 23, 2023 at 11:02
  • If you have serious trouble to present your specific design aspect in a comprehensible way, in some mid-sized question, one potential reason might be that the aspect you are trying to describe is indeed unecessarily complicated. Maybe you can fix that first?
    – Doc Brown
    Commented Jul 23, 2023 at 11:51


You must log in to answer this question.

Browse other questions tagged .