Replies: 6 comments 2 replies
-
|
@scottmas Thank you for posting this, we really appreciate the thoughts and feedback. As I'm reading the post I'll ask a few questions. Here's one:
I assume you're using Docker to run EdgeDB? If so then you're fighting an uphill battle, as our workflows are not optimized for Docker. |
Beta Was this translation helpful? Give feedback.
-
We are thinking about exposing read-only SQL access for BI tools and analytics. What is the specific other tooling you're looking for? |
Beta Was this translation helpful? Give feedback.
-
|
Yes, I am using Docker to get started AND I'm trying to use a self managed backend-dsn rather than one managed by Edgedb. And honestly, I could be premature in some of my points. And there's definitely a clear path forward for you guys to slowly improve most of my points through dev iteration and increased documentation. However, the bigger point I'm making really has nothing to do with any of the specific issues I've encountered. It's really your positioning in the marketplace. I know you really don't want to be an ORM. But basically I could summarize my entire above post into two points:
What I'm talking is more about the intersection of corporate strategy, brand positioning, marketing, and long term product roadmap. Maybe you're right to do what you're doing by focusing on making EdgeDB the most powerful and full featured database you possibly can. But maybe it's also not. Maybe it's best from a business perspective to focus on making an incrementally adoptable and incrementally better way of interacting with existing databases via EdgeQL. And then from there you can convince people to maybe jump on a completely new database. Think even from a branding perspective. Do you really want to be branded as a new database? I would argue that it's likely sub-optimal from an adoption perspective. Developers have a love hate relationship with new databases. We love them because we love shiny things, and we are obsessed with becoming more efficient. But we're also wary, and have been burned by shiny new things before. We're risk averse herd animals too. Guys, I know I'm just some random dude, and you guys are waaay more invested than I ever will be in all this. And there's a very real possibility you're seeing some savvy business path that I just can't see right now due to my limited perspective. I'm a startup co-founder myself and honestly feel dumb even making these suggestions to you because it just feels like a cheap shot. And maybe you guys are really are charging down a relatively optimal corporate strategy that I just can't see. And if you are, then this whole conversation is just a distraction and it should be promptly forgotten. But I just worry about EdgeDB given my experience thus far and my own analysis of the database industry as a whole. |
Beta Was this translation helpful? Give feedback.
-
The first time you run EdgeDB on a pristine Postgres cluster it performs instance bootstrap, which is basically just restoring a dump containing the standard library, but also things like generating TLS certificates etc. It can take a full minute if you have a slow remote Postgres instance or slow-ish storage. For reference here's how long it takes for me on local host: 16 seconds total. Again, this is something that only happens once per remote cluster (or data directory). Second run: ~5 seconds. Are you seeing consistent 1 minute start times even post-bootstrap? |
Beta Was this translation helpful? Give feedback.
-
|
Yury, sounds like you guys are definitely having these conversations and I can respect that. Elvis, I've created a ticket here on the slow docker startup (#4468). Final question then for you all. If the pure ORM ship has sailed, could you please, please have a first class story for interacting with EdgeDB just as a normal Postgres database? A first class story also for "ejecting" so to speak from EdgeDB and going back to raw Postgres? That would take sooooo much risk off the table, and would be such a huge help I think. Right now this is kind of supported but we have to specify our own backend-dsn (which is poorly documented) and the whole experience is kind of painful. |
Beta Was this translation helpful? Give feedback.
-
|
Hi I just ended this day unsuccessfully trying to make Docker and EdgeDB work for my project. And I really like the idea to be able to use EdgeQL instead of SQL as Scottmas suggested it. Anyway I discovered your project because of your (awesome) youtube videos and I have a lot of respect for what EdgeDB is. I wish you lot of motivation for what's next ! |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Let me preface this post by saying that it's easy to waltz in here as fly-by-nighter and shoot off my two cent opinion from my hip. It's you guys, the Edgedb maintainers, who are in the trenches building the post-SQL future. What you guys are doing is amazing and I'm rooting 100% for you guys. And I'm sure you've already had or are having many conversations along the lines of what I'll be saying below. But I care about this project succeeding so much I feel like I have to throw in my two cents. Sorry if it comes across as
But here's the brutual truth from my perspective:
So this is the brutal truth from my perspective. You guys are pumping out features like champions, and the database is getting better every month. But I still just foresee a long, slow, slog to any sort of general adoption or significant company revenue.
And I wonder if this isn't in some part due to the natural engineer desire to make the most powerful tool possible. I get it. I really do! Amazing engineers like you guys want to make cathedrals of awesomeness. To squeeze out every ounce of possible DX for a given workflow. Make the most delightful and powerful experience possible for devs interacting with data. And given that that maximzation objective, it makes sense why you're charging down the road you are right now.
However, if Edgedb is to have any chance of substantial revenue and significant developer mindshare 10 years from now, I wonder if it wouldn't make the most sense for your maximization objective to change to be "Maximize the amount of Edgeql written in the world". That's it. From a technical perspective, it's far less ambitious, but I think it would make way more sense from a business perspective. And I say this as a tech startup founder who spent 5 years playing in the wrong sandbox only to learn it's infinitely better to have an inferior product in the right sandbox.
Take Prisma as a case study. Look at this npm adoption curve and the approximate inflection point:
What happened right around this time? Prisma removed the Prisma proxy server from their architecture and they lost a lot of power. That's what happened. But it made adoption infinitely easier. And now they're popular enough, and have enough money that the chances of them going out of business are close to non-existent, which also takes a lot of risk off the table.
Imagine a world where Edgedb compatible schemas slowly infiltrate the DB's of the world. Where all the SQL wizards of the world discover this cool new transpiler and get to impress all their SQL nerd friends with their transpiled Edgeql queries (instead of being labeled the crazy heretic recommending a young and new database). Where devs salivate at the prospect of using your hosted option, because finally they'll be able to talk to a db that understands raw Edgeql without transpiling. I just swear the objective should be to maximize Edgeql adoption, not Edgedb adoption.
As an analogy: imagine two maxima on a graph. One local maxima where all the people are currently living and a global maxima miles away with a valley of despair and sadness between the local and global maxima. In this scenario no one is going to ever get to the global maxima. There's too much sadness. However, if you can create a slow and gradual ascent to the global maxima, that becomes a game changer in terms of adoption. Slowly people would migrate over to the global maxima.
So these are my thoughts guys. I would LOVE, LOVE, LOVE Edgedb to take over the world and to be able to adopt it in good conscience on my next project. But it's not there yet, and the product roadmap you seem to be charging down doesn't personally give me much hope that it ever will get to that place where I would seriously consider using it.
Beta Was this translation helpful? Give feedback.
All reactions