• C++ Programming for Financial Engineering
    Highly recommended by thousands of MFE students. Covers essential C++ topics with applications to financial engineering. Learn more Join!
    Python for Finance with Intro to Data Science
    Gain practical understanding of Python to read, understand, and write professional Python code for your first day on the job. Learn more Join!
    An Intuition-Based Options Primer for FE
    Ideal for entry level positions interviews and graduate studies, specializing in options trading arbitrage and options valuation models. Learn more Join!

SQLite

Im not a professional programmer and have raised some questions. Apart from assembler Im also interested in creating a server side application to manage portfolio positions. Only few data should be stored like time of opening/closing positions, shares bought/sold, etc. So would you advice to proceed with SQL server or SQLite for that need? I know none at high level. Im intermediate in both. So which would you recommend to learn further and what are advantages of each?
Thank you for your answers
 
Look further and go with SQL Server express, at least it won't be a shame to put it on a resume. Also, server-side processing will be locking your file with SQLite so there will be plenty of angry users waiting, waiting and waiting.
 
Look further and go with SQL Server express, at least it won't be a shame to put it on a resume. Also, server-side processing will be locking your file with SQLite so there will be plenty of angry users waiting, waiting and waiting.

There are benefits in favor of SQLite compared to SQL express. I don't need a separate server to take some resources to take out the data. As for waiting, waiting and waiting, are you talking about the speed comparison between SQLite and SQL express?
 
The SQLite locks a file making it unavailable for other users when it applies changes; if you will have some online users, it will become a bottleneck at one point in time. However, the SQLite can be a bit faster and simpler to deal with for a 1-user app.
 
The SQLite locks a file making it unavailable for other users when it applies changes; if you will have some online users, it will become a bottleneck at one point in time. However, the SQLite can be a bit faster and simpler to deal with for a 1-user app.

Aha that's what you meant. Exactly I need the software to run under one PC with no interactions from external PC. Much like MS Excel using its own database per computer.
 
Hi, I could not notice that you had mentioned assembler ... I haven't seen anybody programming in assembler for a really long time, and it is probably because you don't need it 99,999% of time (my guess) ... If you are not an assembler master probably C/C++ compiler would prepare much better code, and given all the libraries around, your "business logic" would be far easier to be programmed in high level language.

As to database, and position tracker, would it not be nice to:
- have your positions priced every day
- have graph of your portfolio/portfolios
- have different stats automatically calculated

Are you going to prepare this kind of application ?
 
Hi, I could not notice that you had mentioned assembler ... I haven't seen anybody programming in assembler for a really long time, and it is probably because you don't need it 99,999% of time (my guess) ... If you are not an assembler master probably C/C++ compiler would prepare much better code, and given all the libraries around, your "business logic" would be far easier to be programmed in high level language.

Im currently doing it in C#. Thanks Im getting the extensive help from the members here.


As to database, and position tracker, would it not be nice to:
- have your positions priced every day
- have graph of your portfolio/portfolios
- have different stats automatically calculated

Are you going to prepare this kind of application ?

Exactly. And not only...
 

JKPappas

GPUs-R-US
TobiAkin, if you're doing it in C# you should also check out RavenDB (http://www.ravendb.net/). It's an open-source, document-based database written in C# (specifically for .NET 4.0). It should be pretty easy to get up and running.

Unless there's a specific reason you want to use a high-end, traditional database like SQL Server, I'd stick with RavenDB or SQL Lite -- they're much simpler and faster to get up and running with.
 
TobiAkin, if you're doing it in C# you should also check out RavenDB (http://www.ravendb.net/). It's an open-source, document-based database written in C# (specifically for .NET 4.0). It should be pretty easy to get up and running.

Unless there's a specific reason you want to use a high-end, traditional database like SQL Server, I'd stick with RavenDB or SQL Lite -- they're much simpler and faster to get up and running with.

Could you please state benefits of RavenDB over SQLite? I got confused now which one to use...
 
Have raised one more question...I'm a Visual Studio 2010 and C#user. Im new to the databases so I wonder what is the difference between the local database component of Visual Studio and SQLite and such embedded databases? Are they used for one and the same purposes or what is the advantage of one over another? Thanks
 

JKPappas

GPUs-R-US
Could you please state benefits of RavenDB over SQLite? I got confused now which one to use...

RavenDB is written specifically for .NET, SQLite is written in C and requires you to use a separate library to interop with the "real" database. This isn't a huge deal, but it may be depending on your deployment scenario -- interoperating with native code requires your program (via the user) have some fairly high-level permissions on the system.

Also, RavenDB works over a network, has auto-sharding capabilities, and supports multiple processors (I think SQLite is single-threaded?).

If you want to learn more about RavenDB, the guy who started it (and has since built a company around commercial support for RavenDB) has a blog: http://ayende.com/blog/

As for the local database component of Visual Studio -- it includes both SQL Server Express (a stripped-down version of SQL Server), and SQL Server Compact (which is more or less the MS equivalent of SQLite). SQL Server Express runs as a system service and is a full-on DB, whereas SQL Server Compact just stores the database in a single file (like SQLite).
 
Top