ASP .NET system design advice. [closed] - c#

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I'm working on a system (.NET website) that uses class libraries to manipulate data located on a MS SQL server. Lately, I've been wondering about ditching those classes and doing the data manipulation using WCF. That way I could consume the services in Android, Java, etc...
Well, some classes return a large amount of data, say a 125x10000 datatable... and I'm worried that WCF will not be able to handle that... or maybe that the system's performance will suffer too much.
What do you guys think?
Is WCF ok to to use for retrieving/updating large amounts of data on a multi-user system?
If not, what are some other options?

Maybe I'm misunderstanding what you're trying to achieve, but it sounds like what you're suggesting is moving the database load to the application side - pulling entire data tables to the application in order to run your would-be DB operation.That's kind of what the SQL server is designed for.
By doing so, you're putting all of the load onto your application server and underutilizing the DB area of concern. Write some code to handle locking and then let the database do it's job. You'll end up writing more procs, but that's normal, and better in the long run as you can edit them on the back end without having to recompile app code. IMO do all of your database operations in your stored procedure and return the smaller result sets through WCF.
I mean... are you really planning on piping that much info over a WCF service onto cellphone?!

Related

MySQL as a database server [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 9 years ago.
Is there any way to configure mySql as a database server with concurrency access?
I want to develop a windows application with a open source database where multiple access at the same time. as per the research I did on the internet, Mysql is the best but just want to make sure that Mysql capabilities in the above scenario.
any help appreciated.
I believe that you're misunderstanding something, but I'm not sure what, so I'll just explain stuff a bit :-)
MySQL's single and sole purpose is what you describe. It's to store data and allow it to be accessed concurrently without too many problems.
Your question is a bit like asking "Is there any way to use a hammer to hit a nail? I have a large amount of nails here, and I need to fix some pieces of wood to each other, and I need something to slam them in. Will a hammer do?"
That said, besides MySQL, there's also nice alternatives like PostgreSQL. PostgreSQL is a bit more full-featured, and has recently been taking over MySQL in popularity. Also, "MariaDB" is, effectively, the new name of the latest MySQL version, so you might want to google for that.
Finally, since you want to develop a Windows application, maybe neither of these databases are a good choice - if every user needs to install a database server in order to use your application, installation will be difficult and error-prone (believe me - I have once, maintained the installers for a Windows application that depends on a MySQL server on the user's computer, and it's hell). You could also look into SQLite, a database (which also supports concurrent access) that you can bundle immediately with the program you're making. It's really just a library that you link into your program, so it's not a server at all. But it's a full-featured SQL database.

Connection to a distant database [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 9 years ago.
I have a WPF application that contains two databases(local and distant).I'd connect to the distant database and execute some queries of selection (no modification) , for the local one I need to read,delete and update many informations. I have to choose between Ado.net and Linq to sql.
So, what is the best choice between them and what are the configuration parametrs needed in the distant Sql Server to accept connection from other PC?
I have to choose between Ado.net and Linq to sql.
LINQ-to-SQL is basically an ORM wrapper around ADO.NET. However, when I hear the word "distant", I would usually assume that direct ADO.NET connectivity is no longer appropriate. If the boxes are on different networks, or separated by firewalls / sub-nets / etc, then the most appropriate thing would be to expose your data via a web-service (that internally may use ADO.NET or LINQ-to-SQL, but that is entirely an implementation detail). That web-service could be exposed via WCF, ASMX, ServiceStack, manually-implemented REST, or any other kind of web-based access technology you like the look of.
Then the only question is: when running on the same network ("local" in your example)... should it continue to use the web-service (for code-reduction, etc), or should it also have a direct (ADO.NET / LINQ-to-SQL) connection option? The first would be no extra code (because the web-service already exists to support "remote" clients); the second (direct) option may in some (limited) scenarios have some performance advantages.

Distributed Map/Reduce framework [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 9 years ago.
I'm looking for .net distributed map/reduce framework. I intend to use this for a real time data querying and to parallel process the query on multiple nodes. I'm currently using WCF for the communication between the web tier and app tier.
For example, If I have 5 nodes with in memory data. If I pass a filter to the 5 nodes. The filter is executed on a chunk of the data the node has and the results are reduced back to final answer.
Just wondering If there is already a framework which can map the jobs and reduce the results back. I was looking more like a Nimbus of the storm (Twitter real time map/reduce). Can't use nimbus because of many complications. And Zookeeper has too much overhead.
I'm trying to achieve the following using the framework
1) Map the job (mostly a request sent to all the available nodes) to the available nodes and reduce the results.
2) On a fail over map the job to a new node.
3) Manage the cluster. (If a node is down remove it from the list of available servers)
The data will be in memory so I don't need a Distributed file system. A .NET with WCF as communication underneath would be ideal but if there are other frameworks (any language) Please let me know.
Any help (Framework, code project, research papers, actual code :) ) would be appreciated.
Not sure what your comments on nimbus/zookeeper mean as these are management components.
Storm does sound suitable for your use case, but so does others like Hazelcast. I'd need more info on your needs to see which of the solutions might be suitable.
I guess one of the important questions would be what you mean with real time. If you just need short response time and need to work with lots of data, Hazelcast maybe better. If you have unstructured data coming in that you have to parse/process and make available to the user quickly, then Storm might be a better fit.

Is there Single tier Architecture for web based applications? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
Can anyone give any examples of a single tier architecture that is web-based? I understand that single tier means that all layers are run in the same machine... Would a soap service that returns a number from a database be an example or is that two tiered?
Would a soap service that returns a number from a database be an example or is that two tiered?
Using a database back-end is a two-tier architecture. Another example is the old-school ASP-style of development where the .asp file directly accesses the database.
Can anyone give any examples of a single tier architecture that is web-based?
A single-tier might be a webpage that directly opens a csv file and reads from it. Another example is a web-service that does not require data at all, like a time service.
Actually there is no Single tier web application.
Yes I insist :)
Because the Web Browser and the client machine is actually a tier.
But to make things easy the community assumes to drop this tire due to it's out of developer hands.
Anyway if you consider that any web page which is not dealing with database OR in better way like csharptest.net said :
A single-tier might be a webpage that directly opens a csv file and reads from it. Another example is a web-service that does not require data at all, like a time service
You may consider that as Single tier

Storing data for desktop application [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
I mainly develop Java EE webapps so I don't have any experiences with desktop application at all. Now a friend of mine needed a little tool for daily business which I've build with Seam and a MySQL db in the background. In case of my experience this was done really fast.
Now I want to go further and produce a real small desktop app for him. I've looked at various options and developing a gtk# application with Mono seems my way to go for this little project. The application should be small and fast so I was thinking if a whole MySQL server is needed for my solution here.
What options I could evaluate instead of a database server which has to run as a service on the workingmachine? Storing data as XML?
To clarify the application has now 6 entites (Products, ProductTypes, Colors, Sizes, Orders, Production). On daily basis orders and production are added to a ProductType, very simple stuff.
XML would work for small sets up data, but if you are going to have larger sets I would recommend something like sqlite.
http://www.sqlite.org/
I have looked at various options and I tend to like SQLite
for client applications on .NET. It is a file based solution that does not require a database server to be installed on the machine, much like using an Access database but better.
Try SQLite
Can be other DB will interest, for example, Db4o or SQL CE 4.

Categories

Resources