locked
Using Astoria for running reports RRS feed

  • Question

  • For reporting databases, if one wants to provide a service interface (service consumers would be reporting and BI team within our company), would Astoria be a good choice? We keep 13 months of data and the users might run year-end reports - these yearly reports might fetch up to 5-10 million records.
    What about performance? Also, for pre-designed reports using stored procedures, is it better to use Linq-to-SQL rather than entity model? There are some manual steps involved (defining query part in csdl) when adding a stored procedure in Entity model - no resultset type created like Linq-to-SQL.

    If not Astoria, can you suggest a different option?

    Thanks.
    Tuesday, June 23, 2009 1:49 PM

All replies

  • Hi Sonal,

    As far as using Astoria for reporting services concern, I fear. 

    Yes , I had too tough time using Stored Procedure in Entity Model . You have to manually configure CSDL and MSDL .   You could check with Function Import option in Entity Model for not manually configuring the markup language of entity model.

    LINQ to SQL has performance advantage over Entity Model because creation of .edmx takes almost 60% more time.



    Thanks Dhananjay Kumar Find my Articles on http://www.c-sharpcorner.com/Authors/AuthorDetails.aspx?AuthorID=dhananjaycoder Contact me at dhananjay.25july@gmail.com
    Wednesday, June 24, 2009 3:54 AM
  • Hi SonalJ,

     Which reporting framework are you using to display the reports ? 
     Crystal Reports /SQL RS /custom asp.net app ? 
     You do mention that you will be returning millions of records , will all the processing happen on the client side ?
     Or is the processing done based on certain parameters that the reporting UI passes in to the service interface.
     Here are some links that talk about mapping Stored procedures in Entity Framework 
     http://www.bing.com/search?q=Entity+Framework+%2C+Stored+procedure
     


    Phani Raj Astoria http://blogs.msdn.com/PhaniRaj
    Wednesday, June 24, 2009 4:15 PM
    Moderator
  • Hi Dhananjay ,

    "LINQ to SQL has performance advantage over Entity Model because creation of .edmx takes almost 60% more time."
    Comments about performance without proper context to back it up are kinda misleading .
    Perhaps you can clarify about how you came accross this 60% number.
    1. Do you have a link that points to this study ?
    2. How large was the model when you ran this test ?
    3. What was the configuration of the machine where this test was run ?
    4. Was the test CPU bound ?

    Phani Raj Astoria http://blogs.msdn.com/PhaniRaj
    Wednesday, June 24, 2009 4:15 PM
    Moderator
  • Hi Phani , 

    I read this 60% data somewhere in blog. I will reply link of that blog soon. 

    I am sorry , if I were misleading . but I answered on best of my knowledge.

    Thanks Dhananjay Kumar
    My Articles on http://www.c-sharpcorner.com/Authors/AuthorDetails.aspx?AuthorID=dhananjaycoder
    Contact me at dhananjay.25july@gmail.com
    Thursday, June 25, 2009 5:18 AM
  • Service consumers might use any of the options you mentioned: custom .net app/SSRS/Crystal Reports.
    Most of the processing will be done in stored procedures based on the values of input params. But if there is any application specific filtering, then that would happen in the client application.

    In EDM, I had to manually add defining query part for my stored procedure since it returns fields from different tables. In Linq-to-SQL, since resultset type is automatically created, I feel it is better suited for stored procedures.
    Thursday, June 25, 2009 7:54 PM