5 ms·
How do you connect to it and actually use it? Does it behave like a SQL database? Row-based? Column-based? Good for analytical workloads? Document store? Redis/
by whalesalad 2y ago
How do you connect to it and actually use it? Does it behave like a SQL database? Row-based? Column-based? Good for analytical workloads? Document store? Redis/memcached database? What are it's strengths or weaknesses?
Cool accomplishment in and of itself but hard for anyone here to really give you any criticism or feedback without understanding where it excels and how to work with it.
- zsoltkacsandi 2y ago> Main focus was on implementing & understanding working the of database I think this clearly describes what was the goal.
- whalesalad 2y agoYep... but there are dozens of different types of databases out there. There is no way to look at this codebase and give any kind of feedback one way or the other without that understanding, particularly with zero usage examples. Which is what the OP is asking about.
- jasonlotito 2y ago> There is no way to look at this codebase and give any kind of feedback Less than a minute and I know how to use it. It's not complicated. The source code is available and fairly easy. If you can't figure out how to use it in a trivial amount of time, you aren't going to be able to offer anything of value. When did HN go from being about interesting stuff to making bold, ignorant statements like "There is no way to look at this codebase and give any kind of feedback one way or the other without that understanding." You should know better.
- whalesalad 2y ago[flagged]
- ge96 2y agoyeah as a dev/non-go person don't know how it works either. I assume main.go is where it starts but then what... I see a commands maybe it works by CLI? idk either
- Xarodon 2y agoYes it's a CLI REPL, you build and run the binary using the instructions in the README and then create/insert/select from it by typing those commands into the CLI. Currently there's no way to connect to it like you would a normal SQL db, but you could embed it like you would sqlite.
- ge96 2y agoHopefully there is a help/man
- otteromkram 2y agoYou're a "dev," but don't seek out test folders/files for use case examples? Don't let your employer know...
- lelandbatey 2y agoThey can be a dev and not want to have to clone and explore the code. There's tons of little bits of friction that're not addressed by the "face" of the repo. E.g. The readme doesn't seem to imply how to connect to this database (the answer is you write to its stdin, it's not socket based). We're not at work here. Low effort posts are allowed though not encouraged. Implying that making a low effort post somehow makes you not a developer ("you're a 'dev' but don't seem out tests?") is it's own low effort post, while also being hurtful. Please, let's keep things kind, focused, and clear.
- ge96 2y ago[flagged]
- arp242 2y ago
- Nicksil 2y ago[flagged]
- maxmcd 2y agoIt does not seem to speak SQL: $ git clone git@github.com:Sahilb315/AtomixDB.git Cloning into 'AtomixDB'... $ cd AtomixDB/ $ go run . Welcome to AtomixDB Available Commands: CREATE - Create a new table INSERT - Add a record to a table DELETE - Delete a record from a table GET - Retrieve a record from a table UPDATE - Update a record in a table BEGIN - Begin new transaction COMMIT - Commit transaction ABORT - Rollback transaction EXIT - Exit the program > create Enter table name: foo Enter column names (comma-separated): bar,baz Enter column types (comma-separated as numbers): 1,2 Enter indexes (format: col1+col2,col3, ... or leave empty): Table 'foo' created successfully. > get Enter table name: foo Select query type: 1. Index lookup (primary/secondary key) 2. Range query 3. Column filter Enter choice (1, 2 or 3): It looks like records are stored in rows: https://github.com/Sahilb315/AtomixDB/blob/64c95afa8e574595c83185791f1809ebdaad3936/database/updates.go#L214 https://github.com/Sahilb315/AtomixDB/blob/64c95afa8e574595c... I do find the source to be well organized and quite readable. Especially if you runs the commands in the cli and then trace how they are each implemented.
- Sahil121 2y agoyes man it is currently a sql db, have to work on adding query language thanks for checking it out
- deleted 2y ago[deleted]
- Sahil121 2y agoit is kind of a sql db but currently does not have the query lang (sql lang) & data is stored in tables similar to other relational DBs. Still have a lot of stuff to add & fix Will add more detail to it