Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add logs command to orientdb script #7130

Merged
merged 1 commit into from
Jan 31, 2017

Conversation

eprothro
Copy link
Contributor

As a first time user, I was searching for something like this, thought I would submit it in case y'all thought it had more broad usefulness.

my flow as a first time user:

  1. let's install this
brew install orientdb
  1. lets run the command with the same name and see what happens
brew orientdb
Usage: orientdb: <start|stop|status>
  1. Great! Let's start it up.
orientdb start
Starting OrientDB server daemon...
  1. Bummer, I want to see what is going on. There is no flag to run it in the foreground. Now I have to figure out where logs are and which streams to tail...

@lvca
Copy link
Member

lvca commented Jan 30, 2017

@eprothro thanks for the PR! I cannot merge it because you use the master branch we use only for releases. Could you create a PR against 2.2.x or develop branches? Thanks.

@lvca lvca self-assigned this Jan 30, 2017
@eprothro eprothro changed the base branch from master to 2.2.x January 30, 2017 22:37
@eprothro
Copy link
Contributor Author

@lvca done! (switched this PR to new base branch)

@lvca lvca merged commit f79c1c9 into orientechnologies:2.2.x Jan 31, 2017
@lvca
Copy link
Member

lvca commented Jan 31, 2017

Thanks, really appreciated. Any other ideas to improve the OrientDB experience? @santo-it could you please take care to document this?

@lvca lvca added this to the 2.2.x (next hotfix) milestone Jan 31, 2017
@eprothro
Copy link
Contributor Author

eprothro commented Jan 31, 2017

Thanks for asking! I'll share what would have helped me:

  • Mac OS X (dev machine)
  • installed 2.2.15 with brew install orientdb
  • Ruby system architecture dev, Postgres, Redis, Cassandra, and Spark experience.
1. Have the library README be more focused at "get a user up and running" than "sell me on OrientDB".
  • Executive summary - "what is this thing" with a link to the website for more marketing/info.
  • Requirements
  • Installation
  • First use
    • Starting a server
    • Connecting a console
    • Basic round-trip example of querying (insert, read)
  • Links on where to go from here
    • SQL Reference Documentation
    • Client Libraries
    • Support channels
  • Contributing
    • Basic tone/stance of this open source community
    • Where issues are handled (JIRA, GH, etc)
    • Link to CONTRIBUTING.md
2. Make creating/connecting to a database simpler

I'm sure there are great reasons why connecting to a database is so coupled to the filesystem/network and/or particular options about storage, but they were neither intuitive to use, clear from the documentation, or easy to use. My top frustration was not being able to CREATE DATABASE foo simply.

Also, noteworthy:

  • Following instructions in the 'Run the Console' section of the manual didn't show the sample DB when i connected to localhost server.
  • It was a little confusing to sucesfully start a console (yay I'm connected!) and then be told I'm not be connected to the database (psych!).

Once I got my own DB created, as I worked with it, anytime I restarted my console, connecting to the database again was inexplicably difficult, even using an absolute path to the exact directory. I eventually got it working, I couldn't tell you (or more importantly, one of my devs) how.

Now, I could ignore this because, of course, I won't be using the console in dev, and programming a client will allow me to harden and hide however ugly this gets. But it is concerning to someone trying to evaluate OrientDB; this kind of issue can act as an indicator of things that lie further down the road. "If it's this clunky to create a database, what about when I get to complex operations?"

3. Better documentation for select/traverse

My getting started / quick POC path:

Prove a basic friendship graph query (User vertices with symmetrical Follow edges from a given User vertex)

  • read README
  • read Docs: Installation, Run Server, Run Console
  • attempt to list databases
  • fail because I'm not connected to server
  • connect to localhost
  • list 0 datbases.... oh well, let's move on
  • read Working with Graphs
  • try to create classes/edges in console
  • fight to create graph database test
  • read Console-Command-Create-Database
  • fight to create graph database test, eventually get it working
  • read Using Schema with Graphs
  • bootstrap my way towards the query I want
  • Various SQL pages for commands/functions trying to figure out graph usage

The learning curve was not too bad. Mostly, I was confused by the traverse / select documentation and am not sure which to use and what is going on under the hood. Things that could help:

  • Further documentation on the Working with Graphs page, discussing traverse, and when to use it over/with select.
  • A link from working with graphs and / or the select and traverse pages to understand the basics of the "read path" of OrientDB and the cost of operations.
    • Blindly guessing at performance implications isn't fun.
      • As a SQL user in an RDBMS I know the rough costs of querying with/without indexes and across join(s) with/without indexes, etc.
      • With something like Redis I know the precise cost (O notation documented explicitly for each command) of each command.
      • With something like CQL in Cassandra, I am introduced quickly to the basics of the read path and know the rough costs of querying against secondary indexes or with large IN relations, etc.
      • It would be nice to be given some direction on how to think about constructing "good" queries for OrientDB based on, generally speaking, how it works.

@santo-it
Copy link

santo-it commented Feb 1, 2017

Noted in the Release Notes

@eprothro : hi, many thanks for your contribution and your feedback!

@santo-it santo-it modified the milestones: 2.2.16, 2.2.x (next hotfix) Feb 1, 2017
@eprothro
Copy link
Contributor Author

eprothro commented Feb 1, 2017

My pleasure. Thanks for all the work on an exciting tool!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

3 participants