Runtime Capabilities

10 posts, 0 answers
  1. Linus
    Linus avatar
    1 posts
    Member since:
    Oct 2007

    Posted 19 Mar 2009 Link to this post

    Hi,
    We currently have a web application that is using Linq 2 SQL for data access.  We are currently evaluating whether it is time to jump to a better tool like OpenAccess.  Reading your API documentation, there are clearly many things already that we would like to take advantage of.  We've got a couple of things holding us back, which I did not find answers for in your documentation:

    1.  Is it possible to retrieve a new Database object and provide it a dynamic connection string at runtime, as opposed to a named connectionstring in the config file?
    2.  Is it possible to specify the fields in a FetchGroup at runtime?  Right now, you have to mark up your classes with attributes, but our application allows users to pick columns to display in a resultset, so we don't want to hardcode this.
    3.  Does OpenAccess allow you to do joins and selects from SQL Server's table valued functions?  Can we access these in LINQ or OQL queries as opposed to SQL queries?  We make extensive use of these.
    4.  Is it possible to use a third party cache like memcached for your 2nd level cache implementation?

    Any help would be appreciated.  Thanks.
  2. Dimitar Kapitanov
    Admin
    Dimitar Kapitanov avatar
    632 posts

    Posted 23 Mar 2009 Link to this post

    Hello Linus,
    Sorry for the delayed reply.  Some answers in short:
    1. Yes you can pass XML dynamically which overrides the config file behavior.
    2. You don't have currently a way to implement fetch groups dynamically.  There is a default group for every persistent object which will load all the properties however.
    3. You can do so by executing a scope.GetSQLQuery() and you should get persistent classes as a result.
    4. We do not support third party cache layers at the moment.

    All the best,
    Dimitar Kapitanov
    the Telerik team

    Check out Telerik Trainer , the state of the art learning tool for Telerik products.
  3. DevCraft banner
  4. Patrice Boissonneault
    Patrice Boissonneault avatar
    28 posts
    Member since:
    Nov 2009

    Posted 16 Feb 2010 Link to this post

    Hello,

    Since the last reply to this post, about a year ago, I wanted to know if support for third-party caching layers (like memcached for example) is now planned or will be considered in the future?

    Or at least, are there any plan to have a true distributed L2 cache implementation in OpenAccess in the future?

    Thank you very much for your support.

    P
  5. Jan Blessenohl
    Admin
    Jan Blessenohl avatar
    707 posts

    Posted 17 Feb 2010 Link to this post

    Hi Patrice Boissonneault,
    There are no plans for supporting 3rd party caches at the moment.

    What is a really distributed cache for you? Having all caches on all server filled with the same content is only one variation of caches. The chaches are synchronized what means for me that they are distributed. It is a lot faster to load the data from the db server instead of sending them around via a seperate channel.

    Greetings,
    Jan Blessenohl
    the Telerik team

    Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items.
  6. Patrice Boissonneault
    Patrice Boissonneault avatar
    28 posts
    Member since:
    Nov 2009

    Posted 17 Feb 2010 Link to this post

    Hello Jan,

    Thank you for the reply.

    By a true distributed cache, I was talking about having the cached content available to all web nodes.  As I understand the way the L2 cache is working in OA right now, the L2 cache are always up to date, but do not necessarely match in their content, is that correct?  For example, imagine that Server 1 loads object A and Server 2 loads object B, if Server 1 wants to load B, another round trip to the DB will be done since object B won't be sent to Server 1 cache and Server 1 has no way to access Server 2 cache.  That is what I meant by really distributed, i.e. fully synced in their content (or shared content).

    This is useful for example when object A takes very long time to load and we would like all our web nodes to get it into their L2 Cache once it is loaded by one of the server.

    Is this scenario currently possible or planned?

    Thanks again for your support.
  7. Jan Blessenohl
    Admin
    Jan Blessenohl avatar
    707 posts

    Posted 17 Feb 2010 Link to this post

    Hi Patrice Boissonneault,
    We do not have such functionality, each servers fills his cache by himself. But there is a setting where you specify per persistent type that you want to load the complete db content by accessing the first entry.

    My idea, so far, was that copying the cache content around in the network is less performant than loading it from the server for all caches.

    Best wishes,
    Jan Blessenohl
    the Telerik team

    Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items.
  8. Patrice Boissonneault
    Patrice Boissonneault avatar
    18 posts
    Member since:
    Mar 2010

    Posted 14 Jul 2011 Link to this post

    PLEASE!  Provide another mechanisme to distribute L2 caches.  MSMQ is the most painful and unreliable piece of software I've worked with!
  9. Jan Blessenohl
    Admin
    Jan Blessenohl avatar
    707 posts

    Posted 15 Jul 2011 Link to this post

    Hi Patrice Boissonneault,
    You are true from some perspective but it is not true that MSMQ is not reliable. If it is configured right, it is 100% reliable. I have experience with other framework, esp. with C++ and Java drivers for those and I have to say that they were also a configuration hell.

    The mistake that I often see is that the muticast protocol is not installed and because OpenAccess uses multicast messages it is not working. We will try to add some checks to find out if MSMQ is configured right.

    Best wishes,
    Jan Blessenohl
    the Telerik team

    Register for the Q2 2011 What's New Webinar Week. Mark your calendar for the week starting July 18th and book your seat for a walk through of all the exciting stuff we will ship with the new release!

  10. Patrice Boissonneault
    Patrice Boissonneault avatar
    18 posts
    Member since:
    Mar 2010

    Posted 15 Jul 2011 Link to this post

    Hi Jan,

    When I say unreliable, I mean "not guaranteed".  Multicast does not garantee that every node will get the packet, which (in case of MSMQ misconfiguration for example) will make the L2 cache unsynced with the other servers.

    I finally found out that when using MSMQ Multicast with multiple NIC card installed on the servers, you have to modify registries to force the multicast protocol to bind to the NIC wanted, otherwise, the messages may be sent randomly on any interface.

    Seems to be working fine now, but I must say MSMQ configuration is all but fun.

    It would be really nice if OpenAccess could *expose* its L2 Cache interface so that we can connect our own custom caching layer. 

    Thanks.
  11. Jan Blessenohl
    Admin
    Jan Blessenohl avatar
    707 posts

    Posted 18 Jul 2011 Link to this post

    Hi Patrice Boissonneault,
    It is already on the list to add Azure support. But at the moment it is completely bound to Azure. I will add it to our list but cannot guarantee when we will do it.

    Greetings,
    Jan Blessenohl
    the Telerik team

    Register for the Q2 2011 What's New Webinar Week. Mark your calendar for the week starting July 18th and book your seat for a walk through of all the exciting stuff we will ship with the new release!

Back to Top
DevCraft banner